Показать сообщение отдельно
  #12  
Старый 13.03.2014, 16:32
Аватар для NumLock
NumLock NumLock вне форума
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.
программа корректно завершается при перемещении курсора в верхний левый угол экрана.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием