Господа, как сделать хук на WM_COPYDATA чтобы перехватывать добавление, удаление, модификацию иконок приложений в стандартном трее? или как сделать другим способом...
Может есть у кого примерчик? (Delphi) |
WH_GETMESSAGE
|
а конкретней?
|
Конкретней в MSDN
|
Мне нужен конкретный пример, а "умные" советы такого плана я и сам могу раздавать
|
В сети ПОЛНО примеров как поставить хук на WH_GETMESSAGE+любое_сообщение_WM_*
|
ну так и подкинь хоть один, я ветку не для рассуждений создавал, о том что в сети лежит и что где написано ...
|
http://pascal.sources.ru/cgi-bin/for...num=1033932228
Добавлено: Я просто про то, что надо хотя бы пальцем пошевелить, чтобы что-то сделать, что надо себе же.. |
KirillS
Вместо хука можешь внедриться в explorer.exe или любой другой процесс, содержащий Tray, и в нем найти окно трея, потом SetWindowLong(GWL_WNDPROC) и будешь получать все его сообщения, только потом CallWindowProc вызывать не забывай. |
>> потом SetWindowLong(GWL_WNDPROC) и будешь получать все его сообщения,
Это с какой травы ты интересно будешь получать "все его сообщения" по SetWindowLong() ? Чушь.. |
Song
Чушь - то что это чушь. SetWindowLong(GWL_WNDPROC) - меняет оконную процедуру, если еще есть вопросы - msdn.microsoft.com, если и потом они останутся - этот топик не для Вас, уж простите. Про сабклассинг окон Вы вообще слыхали? |
Извиняюсь, я не видел, что Вы предлагаете сначала внедриться в АП.
Однако поменять оконную процедуру окна чужого потока не так просто. Здесь надо посмотреть ещё на конкретную реализацию внедрения в АП другого процесса. [s]Исправлено: Song, 8:40 10-06-2003[/s] |
Song
А вот внедриться - действительно куча методов, и это интересный вопрос. Я предпочитаю AppInit_DLLs в реестре. |
DLL-ка, указанная там прикрепляется не ко всем процессам :(
|
Song
К SMSS и CSRSS - не прикрепляется. Объясни зачем она там? |
Время: 01:17. |
Время: 01:17.
© OSzone.net 2001-