registry reload....
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
registry reload....
herkese kolay gelsın.Registry de yapılan değişiklikleri log off olmayadan veya restart atmadan nasıl tekrar yükleriz.....?
Örnegin bazi programlari yukledikten sonra hani diyoya "Bilgisayarinizi simdi bastan baslatmak istiyormusunuz" die.Iste bu registry e yazdiklarini tam olarak kullanima gercirmek icin yapiyo ya ...
iste bende programin icinde registry e baziseyler yaziyorum.Burada bu registry e yazilanlarin etkisini gorebilmek icin ya log off olup tekrar login olmak gerekiyor ya restart atmak yada task manager daki "explorer.exe" yi elle sonlandirip tekrar "new task" -> "explorer.exe" demek gerekiyor .Hah iste ben diyorum ki bunlari yapmadan kod ile registry i reload yapamazmiyiz....Umarim açiklayici olmustur....
Iyi calismalar...
iste bende programin icinde registry e baziseyler yaziyorum.Burada bu registry e yazilanlarin etkisini gorebilmek icin ya log off olup tekrar login olmak gerekiyor ya restart atmak yada task manager daki "explorer.exe" yi elle sonlandirip tekrar "new task" -> "explorer.exe" demek gerekiyor .Hah iste ben diyorum ki bunlari yapmadan kod ile registry i reload yapamazmiyiz....Umarim açiklayici olmustur....
Iyi calismalar...
hocam, eğer registry a kendi programın aracılığıyla bişeyler yazmışsan ve yine kendi programınla bu bilgileri kullanacaksan reload gibi bişeye ihtiyacın olmaması lazım. ancak, senin yazdığın bilgileri başka prog.lar kullanacaksa ve reload edilmesi gerektiğini gördüysen (ki ben görmedim) şunu deneyebilirsin; registry e yazacağın bilgileri *.reg dosyasından yüklersen
(yani yine windows u kullanarak) zaten reload yapıyor diye biliyorum.
zaten regedit açıkken bile *.reg dosyasını yüklerseniz o anda registry ın güncellendiğini görürsünüz.
kolay gelsin
Kod: Tümünü seç
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\LEGACY_ORACLEWEBASSISTANT]
"NextInstance"=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\LEGACY_ORACLEWEBASSISTANT\0000]
"Service"="OracleWebAssistant"
"Legacy"=dword:00000001
"ConfigFlags"=dword:00000000
"Class"="LegacyDriver"
"ClassGUID"="{8ECC055D-047F-11D1-A537-0000F8753ED1}"
"DeviceDesc"="OracleWebAssistant"
(yani yine windows u kullanarak) zaten reload yapıyor diye biliyorum.
zaten regedit açıkken bile *.reg dosyasını yüklerseniz o anda registry ın güncellendiğini görürsünüz.
kolay gelsin
haklısın guncellenir ama kullanılamaz diye bilyorum.Yani etkisini goremezsın.Benim , programda registry e yazdıgım seyler windows u etkileyecek şeyler.Yani sadece kendi program ıcın yazıp okumuyorum.
Ufak bir ornekle açıklayayım.....
HKEY_CURRENT_USER\Sofware\Microsoft\Windows\CurrentVersion\Policies\Explorer
dizini altına NoFind yaz (REG_DWORD) ve değerini 1 yap.
registry i kapattığında etkisini goremezsın lakın ,dediğim yontemlerden birini yaptığında başlat menusunden "ARA"nın gittiğini goreceksın....
İste bu kodla yapılamazmı dıyorum bende .....
Kod ile; Regıstry, yeni yazılan değerleri ile çalışır olamazmı?
Ufak bir ornekle açıklayayım.....
HKEY_CURRENT_USER\Sofware\Microsoft\Windows\CurrentVersion\Policies\Explorer
dizini altına NoFind yaz (REG_DWORD) ve değerini 1 yap.
registry i kapattığında etkisini goremezsın lakın ,dediğim yontemlerden birini yaptığında başlat menusunden "ARA"nın gittiğini goreceksın....
İste bu kodla yapılamazmı dıyorum bende .....
Kod ile; Regıstry, yeni yazılan değerleri ile çalışır olamazmı?
bu söylediğin registry ı değilde, çalışan bir windows programını (Shell_TrayWnd) reload etmek..
aşağıdaki kod işini görecektir.
aşağıdaki kod işini görecektir.
Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
var
xhwnd : hwnd;
begin
xhwnd := FindWindow(pchar('Shell_TrayWnd'), nil);
SendMessage(xhwnd, WM_SETTINGCHANGE, 0, 0);
end;