-
Задачка гораздо скромее, показать наше меню поверх родного, если такое имеется в дочернем компоненте чужого окна. Содержание меню представляет собой список выполняемых приложений для нужд пользователя, которое строится в зависимости от конкретного подкласса и( возможно, его текста), ну и, конечно родительского класса и заголовка. Бывает полезно из уже открытой пр-мы запустить какой-то кусок кода связанный с ней по функционалу, все это уже готово и работает.. Вся эта дребедень задается пользователем и сохраняется в ini. Смысл перезапуска dll в том чтобы добавлять новые позиции в это меню, а так же в новые окна. С внедрением тоже как-нибудь заморочусь))
-
Тогда достаточно вот этого
> Rouse_ © (01.02.13 15:56) [15]
-
-
> Rouse_ © (01.02.13 18:30) [22]
> т.к. нет смысла мусорить во всех процессах.
для этого нужно размещать хук не в dll модуле, а самой программе. но тут появляется вопрос, а зачем вообще этот хук, когда речь о своем процесс.
-
> Eraser © (01.02.13 19:23) [23] > для этого нужно размещать хук не в dll модуле, а самой программе
Как я понял - проблема у автора с конкретным процессом, но не со своим. В этом случае, установка перехватчика непосредственно в тело работающего приложения, достаточно нетривиальная задача. Слишком хороший уровень должен быть для данной реализации. Гораздо проще разместить перехватчик в библиотеке, и инжектировать ее, чем разруливать проблемы с адресацией используемых АПИ во внедренном коде.
-
> Eraser © (01.02.13 19:23) [23]
Кстати, если ты прав и процесс свой, то тогда вообще готодить огорот с перехватом не имеет смысла, достаточно перекрыть OnPopup у меню в котором зачитать требуемые пункты меню, которые нужно добавить и накинуть их прямо в рантайме. И это с учетом что состав этих меню может меняться прямо в момент работы программы, а если нет, то вообще все делается на старте приложения.
|