Windowsun birçok ayarı registry de saklanır , ve burada değişiklik yapabilmek için genellikle farklı yollar mevcuttur , mesela WSH (Windows script host) yi devre dışı bırakmak için registry ye "Enabled" isminde
1. Reg dosyası şeklinde
2. Bat dosyası ile .reg dosyasını çağırmak
3. Temp dosyasında oluşup buradan çalışan .bat dosyası
4. Registry kayıtlarını içeren bat dosyası
5. bat dosyası içerisinde reg add , reg delete yöntemlerini kullanmak
6. Vbs yöntemi
Elbette sayfa sonundan indirilen dosyada dikkat edilmesi gereken bazı hususlar mevcuttur , mesela oradaki .bat dosyalarının mutlaka sağ tıklanıp Yönetici yetkilerinde çalıştır denilmesi gerekmektedir, yoksa ya hata verecektir yada istenen işlemi yapmayacaktır. Aşağıda farklı olması açısından "WaitToKillAppTimeout" isimli bir REG_SZ değeri ele alınmıştır ayrıntılar için bakınız , kısaca açıklayacak olursak ; windows kapanışı sırasında windowsun , kullanıcı işlemlerinin kapanmasını nekadar süre beklemesi gerektiği ile ilgili bir anahtardır , varsayılanı 20 saniyedir fakat biz genelde bunu 2 sn olarak ayarlar ve kullanırız işte üstte sayılan 6 yöntemin bu anahtar için kodları ve açıklamaları:
1.Yol: Klasik ve en çok kullanılan yöntemdir ilgili anahtarı bir registry editörü ile açar dışa aktar der alırız ve diğer bilgisyarlarda çift tıklar çalıştırırız böylece aynı ayar onlarda da uygulanmış olur işte ilgili kayıt
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control] "WaitToKillServiceTimeout"="2000" [HKEY_USERS\.DEFAULT\Control Panel\Desktop] "WaitToKillAppTimeout"="2000" "AutoEndTasks"="1" "HungAppTimeout"="5000"
2.yol: Bu registry kaydını bir .bat dosyası ile çağırır ve o şekilde çalıştırırız , üstteki kaydı kapanis.reg olarak "%systemdrive%\install\" yoluna attığımız varsayarsak ilgili kayıt aşağıdaki şekilde olacaktır (Kullanıcı hesabı denetimi açıksa .bat dosyasının Yönetici yetkilerinde çalıştırılması gerekir)
ECHO. ECHO Applying Registry Tweaks... REGEDIT /S %systemdrive%\install\kapanis.reg
3.yol: Öyle bir .bat dosyası oluştururuzki bu bat dosyası TEMP klasörü içerisinde ilgili registry kaydını oluşturur - çalıştırır ve son olarakta siler (Kullanıcı hesabı denetimi açıksa .bat dosyasının Yönetici yetkilerinde çalıştırılması gerekir)
@ECHO OFF > "%Temp%.\DefOpen.reg" ECHO Windows Registry Editor Version 5.00 >>"%Temp%.\DefOpen.reg" ECHO. >>"%Temp%.\DefOpen.reg" ECHO [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control] >>"%Temp%.\DefOpen.reg" ECHO "WaitToKillServiceTimeout"="2000" >>"%Temp%.\DefOpen.reg" ECHO. >>"%Temp%.\DefOpen.reg" ECHO [HKEY_USERS\.DEFAULT\Control Panel\Desktop] >>"%Temp%.\DefOpen.reg" ECHO "WaitToKillAppTimeout"="2000" >>"%Temp%.\DefOpen.reg" ECHO "AutoEndTasks"="1" >>"%Temp%.\DefOpen.reg" ECHO "HungAppTimeout"="5000" >>"%Temp%.\DefOpen.reg" ECHO. START /WAIT REGEDIT /S "%Temp%.\DefOpen.reg" DEL "%Temp%.\DefOpen.reg"
4.yol: .bat dosyası ilgili registry kaydını içerir (aşağıda) - Kullanıcı hesabı denetimi açıksa .bat dosyasının Yönetici yetkilerinde çalıştırılması gerekir
REGEDIT4 ; @ECHO OFF ; CLS ; REGEDIT.EXE /S "%~f0" ; EXIT [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control] "WaitToKillServiceTimeout"="2000" [HKEY_USERS\.DEFAULT\Control Panel\Desktop] "WaitToKillAppTimeout"="2000" "AutoEndTasks"="1" "HungAppTimeout"="5000"
5.yol: Bat dosyasının reg add , reg delete yöntemleri sayesinde ilgili registry değerlerini eklemek , silmek veya değiştirmek (Kullanıcı hesabı denetimi açıksa .bat dosyasının Yönetici yetkilerinde çalıştırılması gerekir)
@Echo off reg add "HKLM\SYSTEM\CurrentControlSet\Control" /v WaitToKillServiceTimeout /t REG_SZ /d 2000 /f reg add "HKEY_USERS\.DEFAULT\Control Panel\Desktop" /v WaitToKillAppTimeout /t REG_SZ /d 2000 /f reg add "HKEY_USERS\.DEFAULT\Control Panel\Desktop" /v HungAppTimeout /t REG_SZ /d 5000 /f reg add "HKEY_USERS\.DEFAULT\Control Panel\Desktop" /v AutoEndTasks /t REG_SZ /d 1 /f Exit
6.yol: Bunun için bir .vbs scriptinden faydalanılabilir
Dim WshShell, bKey Set WshShell = WScript.CreateObject("WScript.Shell") WshShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Control\WaitToKillServiceTimeout", "2000", "REG_SZ" WSHShell.RegWrite "HKEY_USERS\.DEFAULT\Control Panel\Desktop\WaitToKillAppTimeout", "2000", "REG_SZ" WSHShell.RegWrite "HKEY_USERS\.DEFAULT\Control Panel\Desktop\AutoEndTasks", "1", "REG_SZ" WSHShell.RegWrite "HKEY_USERS\.DEFAULT\Control Panel\Desktop\HungAppTimeout", "5000", "REG_SZ" WScript.Echo "Windows kapanış optimizasyonu yapıldı"
İlk başta verilen örneğin (WSH kapatıp - açma ve üstteki örneklerin hazır dosyalarını aşağıdaki linkten download edebilirsiniz. Lütfen kaynak belirtmeden kullanmayınız
Sende sağolasın Ahmet, selamlar
teşekkürler
anladım hocam teşekkürler.
Malesef katılımsız konusu hiç ilgimi çekmeyen ve gereksiz bulduğum bir konu olduğu için araştırmadım dolayısı ile de pek bilgim yok
güzel bir paylaşım teşekkürler hocam,, konuyla pek alakası yok ama katılımsız program nasıl yapılır bunun hakkında bir konulu ve videosu olan bir yazı yazarmısınız,, internetten baktım bir kaç videyoya ama çok karmaşıktı hiç bişey anlamadım,,mesela benim dediğimde kurulum bittiği zaman kurulum tamamlandı falan diyecek öyle bir şey.