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.Registry kaydını dışa aktarıp kullanmak
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 bilgisayarlarda ç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.Registry kaydını bat veya cmd ile çağır
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.Bat dosyası ile registry kaydı oluştur
Ö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.Bat dosyasındaki /s parametesi ile registry kaydını çalıştırırız
.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.Bat dosyasında Reg add , Reg delete yöntemini kullanırız
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.Visual basic script (Vbscript) yöntemi
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
- Registry yardımı ile açılışta Program çalıştırın Burada
- PowerShell ile kayıt defteri (Registry) işlemleri Burada
12 Eylül 2016 Tarihli başlık güncellendi
İyi olur hata varsa fix'leriz
1 yıl önce win7 format imajı hazırlarken reg dosyalarını tümleştirirken HKCU diye bir anahtar yoktu çözüm olarak setupcomplete.cmd dosyasına sizin yazılımınızla reg kayıtlarını komut olarak eklemeyi gördüm ama powershell ile ilgili regleri komut'a çevirmemişti hatayı hatırlamıyorum karşılaşırsam söylerim
Yazılım gayet düzgün çalışıyor bilmediğimiz bir hata mı var ?
Keşke şu reg convert yazılımınız güncellense
Rica e derim , selamlar.
Teşekkürler çok faydalı bir paylaşım. Ellerinize sağlık.
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.