| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: WinAPI и системное программирование > Вызов меню |
| Автор: COOLHack 21.10.2008, 21:10 |
| Имеется программа. При сворачивании эта программа появляется в трее. При нажатии на иконку в трее правой кнопкой мышки появляется меню. Как программно вызвать это самое меню? (нужно вызвать это меню в чужой проге). |
| Автор: Coder 22.10.2008, 02:36 |
| Ну а хандлер меню знаешь? TrackPopupMenu(hMenu1, TPM_LEFTALIGN, cur_pos.x, cur_pos.y, 0, hWnd, 0); |
| Автор: COOLHack 22.10.2008, 03:47 |
| Как узнать хендл этого меню? Я знаю только хендл программы. |
| Автор: Rrader 22.10.2008, 10:54 |
| Можно сэмулировать клик по иконке в трее. В аттаче пример от Girder, можно попробовать применить. |
| Автор: COOLHack 22.10.2008, 19:09 |
| Пасиб, проблема решена, всем кто мне помог поставил по +, пасиб. |
| Автор: COOLHack 22.10.2008, 21:10 |
| Всё таки кое что не удалось сделать. Подскажите как узнать хендл меню которое вызывается при нажатии на иконку в тре правой кнопкой мышки. |
| Автор: maxim1000 22.10.2008, 21:19 |
| а его может и не быть вообще программа вполне может при клике создавать новое меню, показывать его, а потом удалять |
| Автор: COOLHack 22.10.2008, 21:24 |
| а как тогда вызвать это само меню зная лишь хендл программы? |
| Автор: Coder 23.10.2008, 07:14 |
| COOLHack, зная хендл программы можно получить хендл главного меню (если оно есть) - GetMenu(); В нем можно покапаться через GetSubMenu(). А pop-up меню в трее, видимо можно вызвать только эмуляцией нажатия. |