![]() |
|
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]()
|
|
| RedArrow |
|
|||
|
Unregistered |
Подскажите, пожалуйста, как добавить свою кнопку в чужое приложение? Например, в Outlook Express?
|
|||
|
||||
| Georg4 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 961 Регистрация: 2.11.2002 Репутация: нет Всего: 10 |
Что ты имеешь под "Своей кнопкой". Совершенно левую кнопку или из стандартных кнопок приложения (как в Ворде) с твоими коммандами в неё заделанными
-------------------- Никто и никогда не должен решать одну проблему дважды |
|||
|
||||
| RedArrow |
|
|||
|
Unregistered |
Можно стандартную, но что бы она выполняла мои функции. Либо, если это невозможно, то "совершенно левую", опять же, с моими функциями.
|
|||
|
||||
| p0s0l |
|
||||||||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 14 Всего: 112 |
Создать кнопку можно так:
Далее нужно сделать обработчик нажатия кнопки. Есть два пути, которые я тебе могу предложить: 1) Записать в виртуальное пространство чужого процесса свой обработчик. 2) Поставить ловушку (хук). Немного расскажу про второй способ. Делаем DLL примерно такого содержания:
При клике на кнопку хук проверяет, если нажали на созданную нами кнопку, то шлет сообщение WM_USER окну нашей проги. Тут используется модуль uGlobal:
Ну а дальше сам пример установки хука:
Если нажмешь на эту кнопку, твоё приложение получит сообщение WM_USER, и выдаст сообщение... -------------------- С уважением, г-н Посол. |
||||||||
|
|||||||||
| Staszek |
|
|||
|
Unregistered |
А про первый способ расскажи!!!
|
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 14 Всего: 112 |
А чем тебе второй не понравился ?... С первым _намного_ больше геморроя, так что лучше разберись с тем, что есть... -------------------- С уважением, г-н Посол. |
|||
|
||||
| RedArrow |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 28.9.2004 Репутация: нет Всего: нет |
p0s0l
Спасибо, Ваша помощь пришлась как нельзя кстати. |
|||
|
||||
| Darksquall |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 326 Регистрация: 22.1.2004 Где: Москва Репутация: нет Всего: 4 |
А еще есть способ через OLE,
форму с кнопочкой создаешь заранее и вставляешь на форму OLE контейнер, указываешь в контейнере тип твоего приложения. И все. Я так сделал в ВОРДЕ, когда нужно было ограничить юзера в сохранении документа. т.е. он сохраняет документ только с помощью моей кнопки.А так все стандартные панели остались на месте. |
|||
|
||||
![]()
|
| Правила форума "Delphi: WinAPI и системное программирование" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |