![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ShellHook без Explorera [D6, Win95/98, WinXP]
Сергей Ю. © (2004-05-31 10:17:00)Я использую ShellHook:
WM_SHELLHOOKMESSAGE := RegisterWindowMessage('SHELLHOOK');
if WM_SHELLHOOKMESSAGE<>0 then RegisterShellHook(MainWnd, 3);
полный код пробегал в этом форуме. Все чудненько работает когда запускался Explorer, т.е. винды грузяться, експлорер запускается, я его убиваю, запускаю свой шелл и все вроде работает, но если я свой шелл ставлю вместо експлорера, т.е. при загрузке експлорер негрузиться, то сообщения к моей проге неприходят :(. Что такое грузит експлорер, чего у меня нет? И как это лечить?
Большое спасибо за Ваши ответы.
DVM (2004-06-01 16:47:00) [1]
> Неужели никто свой шелл не писал - НЕВЕРЮ :)!
Я писал. И все замечательно работает.
Вообще, ты не первый, у кого такая ситуация. Но работать должно как и при запущенном эксплорере, так и без него. Ничего особенного эксплорер не запускает. Но при установке хука WH_SHELL, как сказано на MSDN, надо установить MinimizedMetrics. Потом все будет работать.
Сергей Ю. (2004-06-01 10:32:00) [2]Ставлю WH_SHELL, код взял отсюда: http://delphimaster.ru/cgi-bin/forum.pl?id=1083248098&n=5
Дык таже фигня - при запущеном эксплорере все чюдесно робит, если я свою прогу запускаю как шелл, т.е. недаю пускаться эксплореру, то приходит ко мне только HSHELL_LANGUAGE, а о создании/разрушении окон моему хуку ничего неизвестно :( Что-же такое запускает эксплорер, что потом после него остается и позволяет работать шелл-хукам? Неужели никто свой шелл не писал - НЕВЕРЮ :)!
Сергей Ю. (2004-05-31 22:45:00) [3]А можно функционирующий код для хука WH_SHELL, а то то-что тут в форуме пробегало у меня неработает. Приведенный Вами код единственное что я смог заставить работать.
DVM (2004-05-31 17:19:00) [4]
> И как это лечить?
> Большое спасибо за Ваши ответы.
Это мой тут код пробегал. Лечить одним способом - поставить норамльную ловушку WH_SHELL и не мучаться. Функция выше изучена не до конца и как ее использовать на все 100 процентов тоже неясно. На сайте Microsoft она вообще описана неправильно. Более того, от нормального хука можно получить гораздо больше нужной информации.