![]() |
|
#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. Пишу программы за еду. __________________ |