Einzelnen Beitrag anzeigen

Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Tray anwendung bei bestimmter tasten kombi öffnen

  Alt 17. Aug 2009, 21:43
Wenn Du den Hotkey registriert hast, bekommst Du ggf. eine WM_HOTKEY-Message, die Du im Programm auswerten kannst. Näheres siehe MSDN-Library durchsuchenRegisterHotkey, da ist auch ein minimales Beispiel dabei (allerdings C++).

[edit] Mal ein Beipiel (nur ein Form mit einem Label drauf, der Hotkey ist STRG-ALT-A):
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

const PM_MYMESSAGE = WM_APP + 100;

type
  TfrmMain = class(TForm)
    Label1: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private-Deklarationen }
    procedure WMHotkey(var Msg: TWMHotkey); message WM_HOTKEY;
  public
    { Public-Deklarationen }
  end;

var
  frmMain: TfrmMain;

implementation

{$R *.dfm}

procedure TfrmMain.FormCreate(Sender: TObject);
begin
  if not RegisterHotkey(Handle,PM_MYMESSAGE,MOD_ALT or MOD_CONTROL,Ord('A')) then
    MessageBox(0,'War nix',nil,0);
end;

procedure TfrmMain.FormDestroy(Sender: TObject);
begin
  UnregisterHotkey(Handle,PM_MYMESSAGE);
end;

procedure TfrmMain.WMHotkey(var Msg: TWMHotkey);
begin
  if Msg.HotKey = PM_MYMESSAGE then
    begin
      Label1.Caption := 'Message empfangen';
    end;
end;

end.
[/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat