Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

И ещё вопрос про


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-сообщения выполняется тем кодовым потоком, который создал окно, хэндл которого передается параметром в ф-цию регистрации


Наверх

Титульная страница Поиск, карта сайта Написать письмо