Добавить кнопку в чужое приложение
От: JenekX Россия  
Дата: 21.07.10 04:13
Оценка:
Мне нужно расширить функциональность чужой программы, добавив в нее свои контролы.
Какие будут предложения?
Re: Добавить кнопку в чужое приложение
От: BlackEric http://black-eric.lj.ru
Дата: 21.07.10 08:17
Оценка:
Здравствуйте, JenekX, Вы писали:

JX>Мне нужно расширить функциональность чужой программы, добавив в нее свои контролы.

JX>Какие будут предложения?

Без исходников? Дизассемблер в руки и вперед.

Через Win API можно нарисовать контролы поверх чужой формы. Но как вы собираетесь в них данные подгружать?
https://github.com/BlackEric001
Re[2]: Добавить кнопку в чужое приложение
От: JenekX Россия  
Дата: 21.07.10 09:55
Оценка:
Здравствуйте, BlackEric, Вы писали:

BE>Без исходников? Дизассемблер в руки и вперед.


BE>Через Win API можно нарисовать контролы поверх чужой формы. Но как вы собираетесь в них данные подгружать?


Данные программы мне и не нужны. Они хранятся в БД. Мне лишь надо добавить кнопку, по нажатии на которую будет запускаться мое окно.

Я так думаю что это мне нужно реализовывать в DLL, которую я подцеплю к чужой программе (например добавлю ее в таблицу импорта через lordpe). В DLL мне нужно получить хендл окна и в этом окне создать через winapi кнопки.

Но я не знаю:
1. как создать кнопку в другом окне через winapi;
2. как подцепить событие нажатия мыши по ней;
3. как узнать, что окно закрывается, чтобы удалить кнопку.

Может есть какие нибудь идеи? Если можешь покажи в коде.
Re[3]: Добавить кнопку в чужое приложение
От: BlackEric http://black-eric.lj.ru
Дата: 21.07.10 12:19
Оценка:
Здравствуйте, JenekX, Вы писали:

JX>Здравствуйте, BlackEric, Вы писали:


BE>>Без исходников? Дизассемблер в руки и вперед.


BE>>Через Win API можно нарисовать контролы поверх чужой формы. Но как вы собираетесь в них данные подгружать?


JX>Данные программы мне и не нужны. Они хранятся в БД. Мне лишь надо добавить кнопку, по нажатии на которую будет запускаться мое окно.


JX>Я так думаю что это мне нужно реализовывать в DLL, которую я подцеплю к чужой программе (например добавлю ее в таблицу импорта через lordpe). В DLL мне нужно получить хендл окна и в этом окне создать через winapi кнопки.


JX>Но я не знаю:

JX>1. как создать кнопку в другом окне через winapi;
JX>2. как подцепить событие нажатия мыши по ней;
JX>3. как узнать, что окно закрывается, чтобы удалить кнопку.

JX>Может есть какие нибудь идеи? Если можешь покажи в коде.


Нарисовать что-либо на форме можно примерно так здесь

А по второму пункту идей нет. Врядли у ваc получится в чужой программе создать TButton
https://github.com/BlackEric001
Re: Добавить кнопку в чужое приложение
От: Mr.Delphist  
Дата: 06.08.10 14:58
Оценка:
Здравствуйте, JenekX, Вы писали:

JX>Мне нужно расширить функциональность чужой программы, добавив в нее свои контролы.

JX>Какие будут предложения?

Subclassing плюс инъекция своей DLL (с обработчиками для контролов) через хуки. В качестве хорошего примера пожно поискать PGP Client для Outlook Express (да-да, именно экспресс, а не "взрослый"), только осторожно — оно вроде open-source сейчас. Но понять идею поможет 100%.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.