| Автор
| Сообщение |
Kasper
Гость

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


Возраст: 26
Знак зодиака: 
Зарегистрирован: 12.09.2005
Сообщения: 714
Откуда: Великий город Рига... =Ъ
|
|
|
Цитата |
|
Поставь крюк(Hook)...
Поищи через поисковик форума ключ. слово "SetWindowsHook" и/или SetWindowsHookEx
Добавлено спустя 3 минуты:
А вообще прежде чем спрашивать.. Пользуйся поисковиком.. Эта тема на этом форуме уже раз 5 всплывала...  _________________
 |
|
| В начало |
|
 |
Kasper
Гость

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

|
|
| В начало |
|
 |
Kasper
Гость

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

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

|
|
| В начало |
|
 |
 dogma
aka Достоевский

Возраст: 27
Знак зодиака: 
Зарегистрирован: 20.12.2004
Сообщения: 1702
Откуда: Холмск
|
|
|
Цитата |
|
Вот-с, малое дополнение:
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
Гость

|
|
| В начало |
|
 |
|
|
 |
|