Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   SysTray, Hook, WM_COPYDATA (http://forum.oszone.net/showthread.php?t=30458)

KirillS 05-06-2003 16:24 208710

Господа, как сделать хук на WM_COPYDATA чтобы перехватывать добавление, удаление, модификацию иконок приложений в стандартном трее? или как сделать другим способом...

Может есть у кого примерчик? (Delphi)


Song 07-06-2003 10:32 208711

WH_GETMESSAGE

KirillS 09-06-2003 09:05 208712

а конкретней?

Song 09-06-2003 16:56 208713

Конкретней в MSDN

KirillS 09-06-2003 17:10 208714

Мне нужен конкретный пример, а "умные" советы такого плана я и сам могу раздавать

Song 09-06-2003 17:35 208715

В сети ПОЛНО примеров как поставить хук на WH_GETMESSAGE+любое_сообщение_WM_*

KirillS 09-06-2003 17:46 208716

ну так и подкинь хоть один, я ветку не для рассуждений создавал, о том что в сети лежит и что где написано ...

Song 09-06-2003 18:34 208717

http://pascal.sources.ru/cgi-bin/for...num=1033932228

Добавлено:

Я просто про то, что надо хотя бы пальцем пошевелить, чтобы что-то сделать, что надо себе же..

vasketsov 09-06-2003 20:22 208718

KirillS
Вместо хука можешь внедриться в explorer.exe или любой другой процесс, содержащий Tray, и в нем найти окно трея, потом SetWindowLong(GWL_WNDPROC) и будешь получать все его сообщения, только потом CallWindowProc вызывать не забывай.

Song 09-06-2003 22:41 208719

>> потом SetWindowLong(GWL_WNDPROC) и будешь получать все его сообщения,
Это с какой травы ты интересно будешь получать "все его сообщения" по SetWindowLong() ? Чушь..

vasketsov 09-06-2003 23:59 208720

Song
Чушь - то что это чушь.

SetWindowLong(GWL_WNDPROC) - меняет оконную процедуру, если еще есть вопросы - msdn.microsoft.com, если и потом они останутся - этот топик не для Вас, уж простите.

Про сабклассинг окон Вы вообще слыхали?

Song 10-06-2003 07:36 208721

Извиняюсь, я не видел, что Вы предлагаете сначала внедриться в АП.
Однако поменять оконную процедуру окна чужого потока не так просто. Здесь надо посмотреть ещё на конкретную реализацию внедрения в АП другого процесса.

[s]Исправлено: Song, 8:40 10-06-2003[/s]

vasketsov 10-06-2003 16:43 208722

Song
А вот внедриться - действительно куча методов, и это интересный вопрос.
Я предпочитаю AppInit_DLLs в реестре.

Song 10-06-2003 16:51 208723

DLL-ка, указанная там прикрепляется не ко всем процессам :(

vasketsov 10-06-2003 22:01 208724

Song
К SMSS и CSRSS - не прикрепляется.
Объясни зачем она там?


Время: 01:17.

Время: 01:17.
© OSzone.net 2001-