Re[2]: Специфический(?) баг с хуком.
От: Аноним  
Дата: 03.12.04 16:13
Оценка:
Здравствуйте, Andrew S, Вы писали:

AS>Вообще то TaskManager показывает PID — ProcessID. Вам, как я понимаю, нужно устанавливать хук на определенный тред процесса (я бы назвал его гуи тредом). Тогда делаете так:


AS>1. Находите окно процесса, которое вас собственно интересует. Например, при помощи FindWindow.

AS>2. При помощи GetWindowThreadProcessId получаете Thread Id треда, создавшего это окно.
AS>3. Ну, а далее вы знаете
1. нашел
2. к сожалению GetWindowThreadProcessId возвращает мне не ThreadId треда, а ProcessId процесса, создавшего окно.

Проблема детальнее:
В приложении (не моем) меню сделано как ToolbarWindow32 с плоскими кнопками.
Мой GUI должен уметь шастать по этой "менюшке" и получать информацию о пунктах меню
(текст, активность и т.п.). Для этого, мне, естественно нужны HMENU этих PopupMenu.
Единственный способ, который я придумал — пытаться перехватить сообщения WM_INITMENU или
WM_INITMENUPOPUP, которые точно приходят тулбару(проверил с помощью Spy++).
Может есть еще какие-то варианты? Может попробовать подменить WindowProc как нить?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.