![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
И ещё вопрос про
Alexis © (2003-10-28 12:23:00)Уважаемые мастера! Пару дней наза натнулся на вопрос в конфереции "Global HOOK без DLL.. Это как? Или вообще ни хук?"
( http://www.delphimaster.ru/cgi-bin/forum.pl?id=1066865880&n=2) Так вот... Все говорят про некую функцию RegisterShellHookWindow. Да есть такая функция, но как её использовать - не понятно. Если кто разобрался или у кого есть описалова, то намылите пожалуйста (alexis2004@inbox.ru) Только не отсылайте в MSDN. На сайте я не нашёл, а на дисках - у меня старая (Jan"99) - там даже слова нет про неё.
Заранее спасибо Ale}{(is)
Dima_dvp (2003-10-28 19:15:00) [1]
To Alex(is): А не могли бы вы выслать мне тот код(или фрагмент), в котором вы эту ф-ию используете.....
Заранее спасибо..
Alex(is) (2003-10-28 15:35:00) [2]
Спасибо. Очень помогли!
DVM (2003-10-28 12:53:00) [3]
Функция RegisterShellHook находится в shell32.dll под номером 181.
Перед вызовом ее надо зарегистрировать сообщение
WM_SHELLHOOKMESSAGE := RegisterMessage("SHELLHOOK")
Потом вызвать функцию так:
RegisterShellHook(WND: HWND; N: DWORD);
WND - окно, в которое должны приходить сообщения, N - некий код, неясной природы (не описанный кстати в MSDN), но он должен быть либо 1 либо 3 в зависимости от версии Windows.
После этого окну будут приходить сообщения WM_SHELLHOOKMESSAGE, в wParam которых код (см. справку по ShellProc), а в lParam либо хэндл окна, либо что-еще.
Digitman (2003-10-28 12:39:00) [4]
> Только не отсылайте в MSDN
и все же отсылаю
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/hooks/hookreference/hookfunctions/registershellhookwindow.asp
imho, вполне сносное и подробное описание
но хук хуку - рознь !
если в случае с хук-DLL код callback-ф-ции хука выполняется в АП текущего процесса, то в дан.случае никаких колбеков нет, выборка/диспетчеризация/обработка SHELLHOOK-сообщения выполняется тем кодовым потоком, который создал окно, хэндл которого передается параметром в ф-цию регистрации