Форум: "WinAPI";
Текущий архив: 2003.02.24;
Скачать: [xml.tar.bz2];
ВнизWM_WINDOWPOSCHANGED как правильно на него ставить хук? Найти похожие ветки
← →
neodiX (2003-01-11 03:07) [0]Пробую ставить хук на WH_GETMESSAGE или WH_CALLWNDPROC:
ShareInf^.Hook3:=SetWindowsHookEx(WH_GETMESSAGE, @GetMsgHook, HInstance, 0);
ShareInf^.Hook4:=SetWindowsHookEx(WH_CALLWNDPROC, @WndCallHook, HInstance, 0);
потом предположим проверяю в WH_GETMESSAGE:
Function GetMsgHook(Code: Integer; ParamW: WPARAM; ParamL: LPARAM): LRESULT;stdcall;
Begin
If Code IN [HC_ACTION] Then
Begin
{ if TMsg(Pointer(ParamL)^).message=WM_WINDOWPOSCHANGED then
PostMessage(ShareInf^.AppHandle, WM_USER+300,1,2);
End;
Result := CallNextHookEx(ShareInf^.Hook3, Code, ParamW, ParamL)
End;
но я не получаю не одного мессаджа, что бы не делал. Может тут есть какие то подводные камни? Помогите мастера ответом.
← →
neodiX (2003-01-11 04:07) [1]как я понял в место WM_WINDOWPOSCHANGED ставится хук на WM_MOVE and WM_SIZE. Ну хорошо теперь я проверяю так:
Function GetMsgHook(Code: Integer; ParamW: WPARAM; ParamL:
LPARAM): LRESULT;stdcall;
Begin
If Code IN [HC_ACTION] Then
Begin
{ if TMsg(Pointer(ParamL)^).message=WM_МОVE
then
PostMessage(ShareInf^.AppHandle, WM_USER+300,1,2);
End;
Result := CallNextHookEx(ShareInf^.Hook3, Code, ParamW,
ParamL)
End;
но это все равно не срабатывает когда форма (любая) передвигается. ???
← →
neodiX (2003-01-11 06:34) [2]может кто знает как правильно мониторить передвижение любого окна?
← →
Song (2003-01-11 07:35) [3]Вообще по идее должно работать.
Последний пример ставится на WH_GETMESSAGE ?
← →
neodiX (2003-01-11 07:43) [4]так в том то и дело что не работает и я не могу понять почему.
← →
neodiX (2003-01-11 18:29) [5]ну никак не получается мониторить WM_SIZE или WM_MOVE в чем может быть загвоздка?
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2003.02.24;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c