|
#1
|
|||
|
|||
Меню из Трея
Приветствую, All.
Подскажите, плиз: Как программно вывести меню из иконки ЧУЖОГО приложения, которое туда свернуто? Например, у DrWeb это Настройки, Управление и т.д. В частности, нужно найти hWnd(хэндл, дескриптор) этого самого меню (контекстного меню-PopupMenu). ЗЫ: Если меню главное (Файл, Правка и т.д), то без проблем, функцией GetMenu находится его хэндл, затем индексы меню, и с помощью эмуляции мышиных событий или sendmessage() можно лазить по меню, а вот как вызвать (главное его вызвать, а уж перемещаться я соображу как) незнаю. Если отправлять окну (с которого иконка,трей) сообщения типа WM_RBUTTONUP то ничего не происходит, т.к. в окне-то меню не вызывается а вызывается только с трея. Может кто сталкивался с такой проблемой, подскажите, или может ссылку на какую-нибудь статью в инете. |
#2
|
|||
|
|||
Последний раз редактировалось Admin, 10.08.2007 в 17:40. |
#3
|
|||
|
|||
Проблема не решилась, т.к. в этих исхониках расматривается все, то что я и так знаю,а я просил помочь в решении след. вопроса:
Как программно вывести меню из иконки (трея) ЧУЖОГО приложения, которое туда (в трей) свернуто? Но, всеровно спасибо за исходники, буду дальше "ломать" голову. |
#4
|
|||
|
|||
логика:
1. Сканируем все иконки в трее на то, что принадлежит ли иконка определённой проге или нет, если находим нужную то идём дальше 2. Устанавливаем ловушку типа - нажатия клавишь 3. Если нажатие правой клавиши мыши адресовано именно той саймой иконке в трее, то можно выполнить что нить либо уничтожить захваченное в плен сообщение и никакого меню невысветится вообще... это лишь логика, если реализовать первый шаг, то всё остальное как по маслу удачи |
#5
|
|||
|
|||
Спасибо ответившим.
Уже сам додумался до "логики" Nekromant Set'а, только с некоторыми добавлениями и извращениями над кодом. Скоро доделаю и выложу исходник. |