PDA

Показать полную графическую версию : SysTray, Hook, WM_COPYDATA


KirillS
05-06-2003, 16:24
Господа, как сделать хук на WM_COPYDATA чтобы перехватывать добавление, удаление, модификацию иконок приложений в стандартном трее? или как сделать другим способом...

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

Song
07-06-2003, 10:32
WH_GETMESSAGE

KirillS
09-06-2003, 09:05
а конкретней?

Song
09-06-2003, 16:56
Конкретней в MSDN

KirillS
09-06-2003, 17:10
Мне нужен конкретный пример, а "умные" советы такого плана я и сам могу раздавать

Song
09-06-2003, 17:35
В сети ПОЛНО примеров как поставить хук на WH_GETMESSAGE+любое_сообщение_WM_*

KirillS
09-06-2003, 17:46
ну так и подкинь хоть один, я ветку не для рассуждений создавал, о том что в сети лежит и что где написано ...

Song
09-06-2003, 18:34
http://pascal.sources.ru/cgi-bin/forum/YaBB.cgi?board=delphi;action=display;num=1033932228

Добавлено:

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

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

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

vasketsov
09-06-2003, 23:59
Song
Чушь - то что это чушь.

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

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

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

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

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

Song
10-06-2003, 16:51
DLL-ка, указанная там прикрепляется не ко всем процессам :(

vasketsov
10-06-2003, 22:01
Song
К SMSS и CSRSS - не прикрепляется.
Объясни зачем она там?




© OSzone.net 2001-2012