Столкнулся с такой задачкой: Программа генерирует динамически попап-меню. Меню составляется из пунктов, передаваемых плагинами программы. Требуется узнать ID всех пунктов текущего попап-меню. Есть ли программа-монитор с подобной функцией, чтобы показывала данные по текущему выделенному пункту меню? Больно тяжко лезть в каждый новый плагин, чтобы смотреть с каким IDs он передаёт свои пункты меню программе :\
Дык не хочется писать под столь мелкую проблему отдельную прогу. Спрашивал, из расчета услышать название мониторящей программы. MS Spy++, MS Spy 2003 и Winspector - этого не умеют. Этим прогам существующие контролы подавай. А как им подсунуть меню, если оно разрушается сразу же после потери фокуса Может есть в природе программа, что-то вроде старого-доброго peeper'а(он же pepper), которая показывает инфу об контроле, находящегося под курсором?
можно вызвать TrackPopupMenu (опять же, если известен хэндл) с флагами TPM_NONOTIFY и TPM_RETURNCMD, тогда оно не будет посылать сообщения, а вернет ид в еах. или ты в чужой проге хочешь отловить? я просто что-то не пойму ситуэйшн.
С попап-меню работать я умею Да, именно в "чужой" проге. Но не в этом проблема. Проблема в другом - с "чужой" прогой используются "чужие" плагины и один мой Хотелось бы просто накидать все плагины запустить 1 раз и убедится что мой плагин не конфликтует ни с кем из плагинов. То есть нет плагина, который передаёт проге свой пункт для меню с тем же ID, что и мой плагин.
а как ты добавляешь свою опцию меню? известен ли тебе хэндл попап-меню, или хотя бы главного меню окна (если из него можно до него добраться), или хотя бы хэндл главного окна? может, проще написать микро-плагин, который вываливает тебе все использованные ид? вообще я писал плагины (аддин-ы) только для винасма, дык, там по человечески сделано - послал месадж главному окну - получил взад уникальный идентификатор. может, в той проге, к которой ты примочку пишешь, то же такой механизм есть, дык, тогда никогда и не угадаешь - каждый раз будет новый ид...
Нет, там все строго, передаваемый ID влияет на место пункта в попап-меню и будет ли этот пункт отделен разделителем от остальных. Плюс, разумеется, на этот ID "вешается" процедура-обработчик из плагина. Принцип той функции: плагин передает в структуре - название пункта, ID пункта и адрес функции отработки этого пункта(указал не все, но это основное) Вот! Такой вариант меня устраивает. Полистаю доку - кажись, возможно такое. Спасибо тебе.