![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 10.06.2010
Сообщений: 9
|
![]()
Прошу помощи
Создал кнопку в чужой форме.Как обработать событие Click Пишу на C# Создал с помощью IntPtr hWnd = CreateWindowEx(0, "BUTTON", "ddddddd", WS_VISIBLE, 420, 120, 120, 120, handle, 0, (IntPtr)0, null); Теперь знаю хендел кнопки Куда идти дальше ?? |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
во внедренние ДЛЛ, в которой уже перехватывайте обработчик окна(которому кнопку сунули)
далее в этом(своем) обработчике обрабатывайте сообщение от кнопки, а если другое сообщение то возвращайте управление оригинальной процедуре обработки(её надо сохранить) Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#3 |
Регистрация: 10.06.2010
Сообщений: 9
|
![]()
Большая просьба поподробнее
То что Вы сообщили я придставлял, но как этосделать? |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
шарпа не знаю, поэтому пример кода на С++ будет.
у ДЛЛ же есть EntryPoint в которой можно выделить событие присоединения к процессу(флаг fdwReason установлен в DLL_PROCESS_ATTACH) нам нужна глобальная переменная типа Код:
Код:
делаем Код:
в общем примерно так ![]() Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#5 |
Регистрация: 10.06.2010
Сообщений: 9
|
![]()
Все разговоры крутятся вокруг DLL
Почему? Опишу ситуацию. Есть программа которая расшаривает порты COM(splitter) Но она не запоминает настройки Пришла мысль создать в ней кнопку которая будет запускать и выгружать splitter с сохранением настроек Пробовал получить доступ к занятому порту, увы мозга нехватило |
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
потому что у другого процесса свое адресное пространство, программа при всем желании не сможет перейти в ваш процесс и выполнить ваш код.(только если вы его(код) перенесете внутрь того процесса, что через DLL легко делается)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#7 |
Регистрация: 10.06.2010
Сообщений: 9
|
![]()
Как перенести внутрь того процесса?
|
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
пишем ДЛЛ согласно посту 4, потом Инжектим ДЛЛ(погуглите, ибо я не занимался инжектом ДЛЛ)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#9 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
I'm learning to live...
|
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как поменять рисунок на чужой форме. | Aleksandr | Безопасность, Шифрование | 4 | 28.05.2014 11:29 |
как создать кнопку в форме, которая будет создавать отчет | Tatu | Microsoft Office Access | 3 | 04.03.2010 19:13 |
Событие click по заголовку формы? | Polotenchik | Общие вопросы Delphi | 3 | 24.06.2009 12:48 |