5 Stimmen

Wie hänge ich globale Tastenkombinationen in Windows an?

Ich erinnere mich, dass ich vor einigen Jahren ein Programm verwendet habe, mit dem ich die Einstellungen meines Monitors mit benutzerdefinierten Gamma-Rampen und anderen Anpassungen feinabstimmen konnte. Es bot die Möglichkeit, verschiedene Bildschirmeinstellungsprofile für verschiedene Zwecke zu erstellen und globale Tastenkombinationen einzurichten, um sie zu aktivieren, ohne das laufende Programm zu verlassen.

Meine Frage ist, wie man den Haken dafür einrichtet? Ich bin es leid, dass Windows-D alles minimiert, wenn ich nur auf einem Bildschirm auf den Desktop zugreifen und auf dem anderen weiterarbeiten möchte. (Ich habe nicht umsonst 2 Monitore!) Also denke ich, es sollte nicht so schwierig sein, eine kleine Delphi-Anwendung zu entwickeln, die alles auf einem Monitor minimiert. Das einzige Problem ist, es mit einem Hotkey zu verknüpfen. Weiß jemand, was die API dafür ist?

18voto

Jim McKeeth Punkte 37652

http://www.swissdelphicenter.ch/torry/showcode.php?id=147

Es gibt im Wesentlichen drei Schritte:

Register

// Register Hotkey Win + A
id1 := GlobalAddAtom('Hotkey1');
RegisterHotKey(Handle, id1, MOD_WIN, VK_A);

Handgriff

procedure WMHotKey(var Msg: TWMHotKey); message WM_HOTKEY;

{ .... }

// Trap Hotkey Messages
procedure TForm1.WMHotKey(var Msg: TWMHotKey);
begin
  if Msg.HotKey = id1 then
    ShowMessage('Win + A pressed !');

Aufheben der Registrierung

UnRegisterHotKey(Handle, id1);
GlobalDeleteAtom(id1);

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X