Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Рабочий стол
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 28.07.2007, 16:34
AsproSin AsproSin вне форума
Прохожий
 
Регистрация: 28.07.2007
Сообщения: 3
Репутация: 10
Вопрос Меню из Трея

Приветствую, All.

Подскажите, плиз:
Как программно вывести меню из иконки ЧУЖОГО приложения, которое туда свернуто?
Например, у DrWeb это Настройки, Управление и т.д.

В частности, нужно найти hWnd(хэндл, дескриптор) этого самого меню
(контекстного меню-PopupMenu).

ЗЫ: Если меню главное (Файл, Правка и т.д), то без проблем, функцией GetMenu находится его хэндл, затем индексы меню, и с помощью эмуляции мышиных событий или sendmessage() можно лазить по меню, а вот как вызвать (главное его вызвать, а уж перемещаться я соображу как) незнаю.
Если отправлять окну (с которого иконка,трей) сообщения типа WM_RBUTTONUP то ничего не происходит, т.к. в окне-то меню не вызывается а вызывается только с трея.

Может кто сталкивался с такой проблемой, подскажите, или может ссылку на какую-нибудь статью в инете.
Ответить с цитированием
  #2  
Старый 10.08.2007, 15:09
k@Z@k k@Z@k вне форума
Новичок
 
Регистрация: 31.07.2007
Сообщения: 55
Репутация: 12
По умолчанию

FW Hint TrayIcon

ПС.
Admin: На будущее - не забываем пользоваться тегом [CОDE]...[/CОDE].

Последний раз редактировалось Admin, 10.08.2007 в 17:40.
Ответить с цитированием
  #3  
Старый 11.08.2007, 17:32
AsproSin AsproSin вне форума
Прохожий
 
Регистрация: 28.07.2007
Сообщения: 3
Репутация: 10
По умолчанию

Проблема не решилась, т.к. в этих исхониках расматривается все, то что я и так знаю,а я просил помочь в решении след. вопроса:
Как программно вывести меню из иконки (трея) ЧУЖОГО приложения, которое туда (в трей) свернуто?
Но, всеровно спасибо за исходники, буду дальше "ломать" голову.
Ответить с цитированием
  #4  
Старый 23.09.2007, 21:19
Nekromant Set'а Nekromant Set'а вне форума
Новичок
 
Регистрация: 12.08.2007
Сообщения: 87
Репутация: 10
По умолчанию

логика:
1. Сканируем все иконки в трее на то, что принадлежит ли иконка определённой проге или нет, если находим нужную то идём дальше
2. Устанавливаем ловушку типа - нажатия клавишь
3. Если нажатие правой клавиши мыши адресовано именно той саймой иконке в трее, то можно выполнить что нить либо уничтожить захваченное в плен сообщение и никакого меню невысветится вообще...

это лишь логика, если реализовать первый шаг, то всё остальное как по маслу удачи
Ответить с цитированием
  #5  
Старый 24.09.2007, 19:00
AsproSin AsproSin вне форума
Прохожий
 
Регистрация: 28.07.2007
Сообщения: 3
Репутация: 10
По умолчанию

Спасибо ответившим.
Уже сам додумался до "логики" Nekromant Set'а, только с некоторыми добавлениями и извращениями над кодом.
Скоро доделаю и выложу исходник.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 13:28.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter