Ну можно зафигарить как горячую клавишу в системе, будет пахать даже при свернутом состоянии, примерно так:
Код: Выделить всё
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
procedure FormDestroy(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
procedure WMHotKey(var Msg: TWMHotKey); message WM_HOTKEY;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
const
MyHotKey = VK_ESCAPE;
// Virtual-Key Codes
procedure TForm1.WMHotKey(var Msg: TWMHotKey);
begin
ShowMessage('esc');
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
RegisterHotKey(Form1.Handle, MyHotKey, 0, MyHotKey);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
UnRegisterHotKey(Form1.Handle, MyHotKey);
end;
end.
Вариация для приложения использовать компонент TApplicationEvents
Код: Выделить всё
procedure Tmain_form.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
var
VK: Cardinal;
begin
if Msg.Message = WM_KEYDOWN then begin VK := Msg.wParam;
if Key=VK_ESCAPE then begin
Ну есть еще способы, придумай сам, успеха.
