Chertenok.ru - все о программировании
Вход  |  Регистрация  |  Поиск 
Праздник
Завтра :

День славянской письменности и культуры


Отследить нажатие кнопки в чужом окне


Новая тема  Ответить  Печать Предыдущая тема  Следующая тема
Автор Сообщение
Kasper
Гость







СообщениеВт, 20-Дек-2005 18:07    Заголовок сообщения: Отследить нажатие кнопки в чужом окне
Цитата

Добрый вечер,

Мне необходимо отследить событие нажатия кнопки в чужом окне.
Я отслеживаю активность окна, но вот как отследить нажатие кнопки (именно кнопки на окне), не могу найти.
Делал с отслеживанием координат, но мне это не очень подходит.
В начало
Пол:Муж TuXAPuK
Великий гонщик

Предупреждений : 1
Возраст: 26
Знак зодиака: Рыбы
Зарегистрирован: 12.09.2005
Сообщения: 714
Откуда: Великий город Рига... =Ъ
СообщениеВт, 20-Дек-2005 18:25 
Цитата

Поставь крюк(Hook)...
Поищи через поисковик форума ключ. слово "SetWindowsHook" и/или SetWindowsHookEx

Добавлено спустя 3 минуты:

А вообще прежде чем спрашивать.. Пользуйся поисковиком.. Эта тема на этом форуме уже раз 5 всплывала...

_________________
В начало
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Kasper
Гость







СообщениеВт, 20-Дек-2005 18:31 
Цитата

Да поисковиком я пользовался, не только здесь, по всему инету =)
Просто не наткнулся на нужную информацию.
В начало
ДОБ
Гость







СообщениеВт, 20-Дек-2005 19:14 
Цитата

Ищи на форуме

Добавлено спустя 2 минуты 20 секунд:

http://forum.chertenok.ru/viewtopic.php?t=4512
В начало
Kasper
Гость







СообщениеСр, 21-Дек-2005 11:50 
Цитата

Спасибо...

Добавлено спустя 38 минут 38 секунд:

Все таки это не то что я хотел...
Там отслеживается нажатие кнопки на клавиатуре, а мне нужно нажатие кнопки именно в чужой программе отследить (не клавиатурной кнопки).
В начало
ДОБ
Гость







СообщениеСр, 21-Дек-2005 18:17 
Цитата

Надеюсь что ты зарабатываешь себе на жизнь не программами
Иначе тебя бы ждала голодная смерть
Хендолы окон сравнивай(wParam)
В начало
Kasper
Гость







СообщениеСр, 21-Дек-2005 18:25 
Цитата

Хорошо Улыбка
В начало
Пол:Муж dogma
aka Достоевский


Возраст: 27
Знак зодиака: Телец
Зарегистрирован: 20.12.2004
Сообщения: 1702
Откуда: Холмск
СообщениеЧт, 22-Дек-2005 5:29 
Цитата

Вот-с, малое дополнение:
The SetWindowsHookEx function installs an application-defined hook procedure into a hook chain. You would install a hook procedure to monitor the system for certain types of events. These events are associated either with a specific thread or with all threads in the same desktop as the calling thread.

Syntax

HHOOK SetWindowsHookEx(


int idHook,
HOOKPROC lpfn,
HINSTANCE hMod,
DWORD dwThreadId
);
idHook - определяет тип процедуры перехвата;
lpfn - Указатель на процедуру перехвата. Если dwThreadId равен нулю или указывает на идентификатор потока созаднный другим процессом, то lpfn должен ссылаться на процедуру перехвата расположенную в динамической библиотеке. Иначе lpfn может ссылаться на процедуру перехвата связанной с текущим процессом.
hMod
Описатель DLL содержащий процедуру, на которую указывает второй параметр.
hMod должен равняться NULL, если dwThreadId определяет поток созданный текущим процессом и если процедура перехвата находится внтури кода, ассоциированного с текущим процессом.
dwThreadId - Идентификатор потока, с которым будет связано процедура перехвата. Если равен нулю, то процедура будет ассоциирована со всеми потоками в том же окне или вызывающем потоке.

SetWindowsHookEx может быть использована для вставки DLL в другой процесс.
//Короче дальше переводите сами :)
Цитата:
SetWindowsHookEx can be used to inject a DLL into another process. A 32-bit DLL cannot be injected into a 64-bit process, and a 64-bit DLL cannot be injected into a 32-bit process. If an application requires the use of hooks in other processes, it is required that a 32-bit application call SetWindowsHookEx to inject a 32-bit DLL into 32-bit processes, and a 64-bit application call SetWindowsHookEx to inject a 64-bit DLL into 64-bit processes. The 32-bit and 64-bit DLLs must have different names.

An error may occur if the hMod parameter is NULL and the dwThreadId parameter is zero or specifies the identifier of a thread created by another process.

_________________
Bonum initium est dimidium facti
SQL-задачи (on-line)
В начало
Посмотреть профиль Отправить личное сообщение
Kasper
Гость







СообщениеЧт, 22-Дек-2005 17:56 
Цитата

Спасибо...
В начало
Показать сообщения:   
Страница 1 из 1
Перейти:  
Новая тема  Ответить  Печать

Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете присоединять файлы в этом форуме
Вы можете скачивать файлы в этом форуме
хостинг от .masterhost 
Rambler's Top100