Расширить меню внешнего приложения - PullRequest
0 голосов
/ 03 июля 2010

Я сейчас пишу плагин для стороннего приложения.Поскольку структура плагинов не предоставляет никакого способа доступа к пользовательскому интерфейсу, я сейчас пытаюсь сделать это вручную через WinAPI.

Более конкретно, я хочу добавить пользовательский пункт меню для моего плагина в «Файл»menu.

Моя первая попытка использования FindWindow для получения дескриптора главного окна и использование GetMenu не увенчались успехом, так как GetMenu простовернул NULL.

Следующим моим шагом было использование EnumChildWindows и поиск ребенка с текстом «& File» (мне действительно не нравится этот подход, поскольку он делает локализацию довольно ужасной).Однако я узнал только дескриптор пункта меню, но мне нужен соответствующий HMENU , чтобы использовать AppendMenu тогда, не так ли?Простое приведение не работает и приводит к «Неверному дескриптору меню».

Возможно ли добиться того, что я пытаюсь сделать?Как?

Спасибо за ваши идеи заранее!

1 Ответ

1 голос
/ 03 июля 2010

Это, скорее всего, просто не HMENU.Пользовательские реализации меню являются распространенными, одно окно предоставляет устаревшие и негибкие.Сравните с MenuStrip Windows Forms, например.

Конечно, в вашем подходе пробивается зияющая дыра.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...