Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > сабклассинг


Автор: Client 11.10.2009, 16:50
Всем привет
Есть форма с одной кнопкой. Хочу засабклассировать эту кнопку из другого приложения. Чтоб при ее нажатии происходило что-нибудь другое.
Я читал про саблассинг/суперклассинг своего приложения но тут другое. И в теме про сабклассинг стринггрида пол кода на асме для меня не понятно.
Если можно скиньте примерчик.

Автор: bems 11.10.2009, 19:04
Внедриться сначала нужно. Если для целей сабклассинга, то внедрение хуком вполне подойдет.

Автор: Client 12.10.2009, 17:58
надо ведь как то получить доступ к оконной процедуре и подменить событие?
Цитата

внедрение хуком вполне подойдет.
Я тока начал API так что про хук ничего не знаю(
Или я не в том порядке начал изучать? (пока умею создавать окна, искать, с меню работал чуток)

Автор: bems 12.10.2009, 18:22
Для того чтобы назначить новую оконную процедуру, нужно чтобы код этой процедуры был в адресном пространстве процесса, которому принадлежит окно.
Для внедрения своей DLL в чужой процесс можно воспользоваться механизмом хуков.
Читать начинай отсюда http://msdn.microsoft.com/en-us/library/ms644959%28VS.85%29.aspx

Вот тут http://forum.vingrad.ru/forum/topic-81718/anchor-entry639779/0.htmlя делал нечто подобное. Там был сабклассинг окна с иконками области уведомлений оболочки, но для кнопки в чужом приложении принцип остается тот же

Автор: Client 12.10.2009, 19:50
Пасиб, буду читать.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)