
26.10.2010, 08:36
|
 |
Активный
|
|
Регистрация: 31.03.2009
Адрес: Украина, г.Днепропетровск
Сообщения: 324
Версия Delphi: Delphi7
Репутация: 3877
|
|
Вот пример проги без окна, при нажатии ALT+1 - пикает ALT+А12 выход.
Код:
Program Proga;
Uses Windows, Messages;
Var
W: TWndClassEx;
H: HWND;
Mesg : TMsg;
Procedure CloseProgram;
begin
UnRegisterHotkey(H, 1);
UnRegisterHotkey(H, 2);
PostQuitMessage(0);
Exit;
end;
Procedure SaveHWNDL2(p: Wparam);
begin
if p = 1 Then Windows.Beep(8192, 50);
if p = 2 Then CloseProgram;
end;
Function WindowProc(H:HWND; Msg: Integer; Wp:Wparam; Lp:Lparam):Lresult;
stdcall;
Begin
Result:= 0;
case Msg of
WM_DESTROY: CloseProgram;
WM_HOTKEY: SaveHWNDL2(Wp);
Else Result:= DefWindowProc(H, Msg, Wp, Lp);
end;
end;
begin
W.cbSize:= SizeOf(W);
W.lpfnWndProc:= @WindowProc;
W.lpszClassName:= 'prog';
RegisterClassEx(W);
H:=CreateWindowEx(0,'prog','prog',0,0,0,0,0,0,0,0,nil);
RegisterHotkey(H, 1, MOD_ALT, Ord('1'));
RegisterHotkey(H, 2, MOD_ALT, VK_F12);
Windows.Beep(8192, 50);
While GetMessage(Mesg,0,0,0) do
begin
TranslateMessage(Mesg);
DispatchMessage(Mesg);
end;
end.
|