90 / 3 / 0
Регистрация: 05.03.2013
Сообщений: 36
1

Как отловить нажатие клавиш в чужом окне?

08.02.2017, 13:01. Показов 1163. Ответов 3

Author24 — интернет-сервис помощи студентам
Имеется dll'ка с формой подгружаемая в другую программу. В dll'ке описана некая логика. Требуется подгружать эту dll'ку в программу и с программы по горячим клавишам вызывать функции с этой dll'ки, которую написали и заинжектили.

Возникли проблемы: заданные мною хоткеи работают либо только при активной форме моей dll'ки, либо, если их сделать глобальными, но тогда эти хоткеи будут действовать на всю систему.

Собственно, как мне dll'кой поймать то, что в программе была нажата некая кнопка и послать в ответ нужную функцию?

p.s. это не вирус, пишу тренер для игры.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.02.2017, 13:01
Ответы с готовыми решениями:

Имитировать нажатие клавиш в неактивном окне
Здрасте:) У меня есть моя программа и есть программа другая. Другая программа завершает свою работу...

Как нажать кнопку в чужом окне?
Добрый вечер! Помогите пожалуйста нажать на кнопку в чужом окне. Добрался до компонента (нашел его...

В dxDbGrid отловить нажатие управляющих клавиш
кто знает как в dxDbGrid отловить нажатие управляющих клавиш? причем как в режиме редактирования...

Как получить доступ к субкомпоненту компонента которое расположено на чужом окне
Здравствуйте. Есть библиотека dll которая подключена к главной програми.На главном окне программы...

3
Заблокирован
08.02.2017, 18:08 2
Покажите код, пожалуйста.
0
90 / 3 / 0
Регистрация: 05.03.2013
Сообщений: 36
09.02.2017, 09:10  [ТС] 3
Собственно вот, использую метод GetAsyncKeyState, который юзается во всех приложениях.

Delphi
1
2
3
4
5
6
7
if (GetAsyncKeyState(VK_F2)<>0) then
  begin
  BaseAddress:=GetModuleHandle('game.dll');
  sp:=Ptr(Integer(Ptr(Integer(Ptr(BaseAddress + $00B45EA4)^) + $254)^) + $6C4);
  sp^:=strtoint(edit1.Text);
  sleep(500);
  end;
Узнал про сабклассинг, почитал на вингарде, но мало что понял, может знающие расскажут здесь на моем примере.
0
Заблокирован
09.02.2017, 18:00 4
Так дело не делается. Почитайте про RegisterHotKey. Если будет сложно, пишите, помогу.
0
09.02.2017, 18:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.02.2017, 18:00
Помогаю со студенческими работами здесь

Как отловить нажатие клавиши?
Нужно отлавливать нажатие любой клавиши (если не отлавливаются три-четыре клавиши типа TAB - ничего...

Как отловить нажатие на кнопку minimize?
Хочу написать программу, которая при минимизации скрывалась и добавляла иконку на system tray, а...

Как отловить нажатие клавиатуры не из программы?
Нужно отловить нажатие комбинаций клавиш, например ALT + Q И соответственно выполнить какое...

Как отловить нажатие клавишь во всех окнах?
Как отловить нажатие клавишь во всех окнах


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru