13.03.2014, 16:32
|
|
Let Me Show You
|
|
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
|
|
Цитата:
Сообщение от reqyz
без окон нет и сообщений
|
отсутствие окон не означает отсутствие сообщений потоку:
Код:
program Project1;
uses
Windows, Messages, SysUtils;
var
hMouseHook: HHOOK;
AMsg: TMsg;
const
WH_MOUSE_LL = 14;
function LowLevelMouseProc(nCode: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
begin
Result:=CallNextHookEx(hMouseHook, nCode, wParam, lParam);
if (PMouseHookStruct(lParam)^.pt.X<5) and (PMouseHookStruct(lParam)^.pt.Y<5) then
PostQuitMessage(0);
end;
begin
hMouseHook:=SetWindowsHookEx(WH_MOUSE_LL, @LowLevelMouseProc, HInstance, 0);
while GetMessage(AMsg, 0, 0, 0) do
begin
TranslateMessage(AMsg);
DispatchMessage(AMsg);
end;
UnhookWindowsHookEx(hMouseHook);
Windows.Beep(1000, 500);
end.
программа корректно завершается при перемещении курсора в верхний левый угол экрана.
__________________
Пишу программы за еду.
__________________
|