![]() |
|
|
#1
|
||||
|
||||
|
Как сделать, чтобы программа сидела в процессах и следила за нажатиями клавишь (горячие клавиши). Например:
Программа в свернута в трей, Была нажата клавиша "CTRL", появляется сообщение: "Вы нажали на "CTRL"". |
|
#2
|
|||
|
|||
|
|
|
#3
|
||||
|
||||
|
Цитата:
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
IsRegisterHotKey: Boolean;
procedure WMHOTKEY(var msg: TMessage); message WM_HOTKEY;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
IsRegisterHotKey:=RegisterHotKey(Handle, 1, MOD_WIN, VK_ADD);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
if IsRegisterHotKey then UnregisterHotKey(Handle, 1);
end;
procedure TForm1.WMHOTKEY(var msg: TMessage);
var
idHotKey: Integer;
fuModifiers: Cardinal;
uVirtKey: Cardinal;
begin
idHotKey:=msg.WParam;
fuModifiers:=LOWORD(msg.LParam);
uVirtKey:=HIWORD(msg.LParam);
if (idHotKey=1) and (fuModifiers=MOD_WIN) and (uVirtKey=VK_ADD) then
бегин
энд;
end;
end.
|