AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Registry Aktualisieren

Ein Thema von Alter Mann · begonnen am 30. Jan 2004 · letzter Beitrag vom 31. Jan 2004
Antwort Antwort
Alter Mann

Registriert seit: 15. Nov 2003
Ort: Berlin
936 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Registry Aktualisieren

  Alt 30. Jan 2004, 23:10
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:

procedure BroadcastChanges;
var
   success: DWORD;
begin
   SendMessageTimeout(HWND_BROADCAST,
                      WM_SETTINGCHANGE,
                      CDS_UPDATEREGISTRY,
                      0,
                      SMTO_ABORTIFHUNG,
                      1000,
                      success);
end;
Das Problem steckt im Detail: Änderungen bezüglich des Wertes: "NoWinKeys" werden
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:

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;
zu installieren lauf ich gegen die Wand.

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?
  Mit Zitat antworten Zitat
Benutzerbild von Leuselator
Leuselator

Registriert seit: 18. Mär 2003
Ort: Berlin
589 Beiträge
 
Delphi 8 Architect
 
#2

Re: Registry Aktualisieren

  Alt 30. Jan 2004, 23:32
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ß
Miniaturansicht angehängter Grafiken
meineloesung.jpg  
Tim Leuschner
Programmierer = moderner Sysiphos: stets wenn er meint, den Stein seiner Dummheit auf den Berg des Wissens gewuchtet zu haben, erblickt er einen völlig neuen Aspekt und der Dummfels poltert mit Getöse zurück ins Tal der Unwissenheit...
  Mit Zitat antworten Zitat
TStringlist

Registriert seit: 1. Dez 2003
360 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Registry Aktualisieren

  Alt 31. Jan 2004, 03:18
@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*).
MfG (& Thx ggf.)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:52 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz