Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.29;
Скачать: CL | DM;

Вниз

Проблема в установке Hook   Найти похожие ветки 

 
mm0 ©   (2003-04-01 12:07) [0]

HOOK процедура как и положена находится в DLL.
Написал отельную прогу "SPO",для теста.Запустил.
Запустил прогу для установки HOOK.
При устанавливки HOOK-а на окно "SPO" следующим кодом:
-----------
hh:=FindWindow("TfrmMain","SPO");
if hh=0 then
begin
MessageBox(0, "No Window", "Error:", 0);
Exit;
end;
dwProcessId:=0;
GetWindowThreadProcessId(hh, @dwProcessId);
SysHook := SetWindowsHookEx(WH_GETMESSAGE, @SysMsgProc,Instance, dwProcessId);
-----
В SysHook HOOK возращяется 0 т.е не хочет он устанвалваться,
хотя окно находит и dwProcessID<>0.В чем может быть ошибка?


 
Polevi ©   (2003-04-01 12:59) [1]

The hMod parameter must be set to NULL if the dwThreadId parameter specifies a thread created by the current process and if the hook procedure is within the code associated with the current process.

и GetLastError полезно смотреть иногда

if SetWindowsHookEx(..)=0 then
RaiseLastWin32Error;



 
mmo   (2003-04-01 14:27) [2]

Удалено модератором
Примечание: Offtopic


 
Polevi ©   (2003-04-01 14:59) [3]

Удалено модератором
Примечание: Offtopic


 
mm2   (2003-04-01 16:40) [4]

Удалено модератором
Примечание: Разборки с модератором


 
Morfein ©   (2003-04-01 20:28) [5]

Что значит где ошибка?! Ты передаёшь функции SetWindowsHookEx ИДЕНТИФИКАТОР ПРОЦЕССА, а не идентификатор потока!

Для твоего случая код:

var
SysHook : hHook;
dwThreadId : dword;

...
...

dwThreadId:=GetWindowThreadProcessId(hh, nil);
SysHook:=SetWindowsHookEx(WH_GETMESSAGE, @SysMsgProc, Instance, dwThreadId);



Страницы: 1 вся ветка

Текущий архив: 2003.05.29;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.029 c
7-95142
lexusU
2003-03-25 10:48
2003.05.29
как перевести ЭВМ в ждущий режим? как восстановить программу при


1-94824
7Up
2003-05-19 14:42
2003.05.29
Хэндл у объекта


1-94826
Ghost
2003-05-19 13:12
2003.05.29
Как вставить в image картинку из потока ?


4-95171
anbezr
2003-04-02 11:50
2003.05.29
запись в HKLM в ХР


14-95036
SPeller
2003-05-08 05:57
2003.05.29
Как правильно записать запрос в Access?