![]() |
Registry Aktualisieren
Hallo,
Ich habe folgendes Problem: Ich trage beim Start eines Prog's Werte in die Registry ein und möchte, dass alle laufenden Programme die Änderungen "mitbekommen". Dazu nutze ich folgenden 3-Zeiler:
Delphi-Quellcode:
Das Problem steckt im Detail: Änderungen bezüglich des Wertes: "NoWinKeys" werdenprocedure BroadcastChanges; var success: DWORD; begin SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, CDS_UPDATEREGISTRY, 0, SMTO_ABORTIFHUNG, 1000, success); end; erst nach dem Abmelden und erneuten Anmelden akzeptiert; Ich möchte aber während der Zeit in der mein Prog im Userkontext läuft die 'WinKeys' abschalten. Auch mit dem Versuch ein KeyboardHook :
Delphi-Quellcode:
zu installieren lauf ich gegen die Wand.VAR oldHook: HHook; FUNCTION KbHook(iCode: Integer; wParam: Word; lParam: LongInt): LongInt; StdCall; BEGIN if iCode < 0 THEN BEGIN Result := CallNextHookEx(oldHook, iCode, wParam, lParam); Exit; END; IF (wParam = VK_LWIN) or (wParam = VK_RWIN) or (wParam = VK_APPS) THEN Result := 1 ELSE Result := CallNextHookEx(oldHook, iCode, wParam, lParam); END; FUNCTION DisableWinKeys: Boolean; BEGIN oldHook := SetWindowsHookEx(WH_KEYBOARD, @KbHook, hInstance, 0); Result := oldHook <> 0; END; PROCEDURE EnableWinKeys; BEGIN IF oldHook <> 0 THEN BEGIN UnhookWindowshookEx(oldHook); oldHook := 0; END; END; Ziel der ganzen Übung ist es, das mittels "Win(L or R) + E" der Explorer nicht aufgerufen werden kann. Wer hat also eine Idee oder Lösung? |
Re: Registry Aktualisieren
Liste der Anhänge anzeigen (Anzahl: 1)
kann Dir in der Sache leider nicht helfen, aber ich muß Dir einfach zeigen, wie ich das Problem für mich gelöst habe - vielleicht muntert es Dich wenigstens ein wenig auf... :-)
Gruß |
Re: Registry Aktualisieren
@Alter Mann
Der Hook jedenfalls ist eigentlich in Ordnung (habe ihn mal kurz getestet). Die VK_LWIN, VK_RWIN u. VK_APPS -Codes laufen durch die KeyboardProc hindurch und werden dort auch identifiziert ...iCode ist auch nicht HC_NOREMOVE ...bleibt imo also irgendwie nur die Annahme übrig, dass wahrscheinlich paralell zu allem im Falle dieser Keys noch eine zusätzliche Information ans System mit abgeschickt wird, das dann einfach unabhängig zur normalen Key-Verarbeitung diese Menues trotzdem immer auffährt. @Leuselator *loool* (...also eine/deine Problemlösung hatte mich dann jetzt aber doch schon mal etwas interessiert *g*). |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz