PDA

Просмотр полной версии : [Помогите!] Подключение симуляции управления (PS/2) или что попроще


evka144
30.09.2015, 03:24
Здравствуйте дорогие форумчане, я совсем не давно начала программировать и мне нужна ваша помощь. :reddy:

Мне нужна имитация отправки низкоуровневых сигналов которая позволяла бы посылать сигналы управления с клавиатуры или мыши в обход защите некоторых клиентских игр, ну или что то другое если существует метод попроще. Обычный SendInput() или keybd_event() естественно не проходят. В данном тестовом коде через 3 секунды постоянно должна нажиматься клавиша А (в данном случае шаг влево). В переключении на обычный блокнот работает и пишет строчку из этой буквы, а в клиенте совсем не реагирует. Я недавно начала изучать с++ и не знаю существует ли библиотека или синтаксис позволяющий такое сделать поэтому обращаюсь к вам.

Пример используемого мной кода :

#include <windows.h>
#include <iostream>

using namespace std;

int main()
{

INPUT ip;
int x=1;

Sleep(3000);

ip.type = INPUT_KEYBOARD;
ip.ki.wScan = 0;
ip.ki.time = 0;
ip.ki.dwExtraInfo = 0;

while (x!=0)
{
ip.ki.wVk = 0x41; // A
ip.ki.dwFlags = 0; // KEYPRESS
SendInput(1, &ip, sizeof(INPUT));
Sleep(100);

ip.ki.dwFlags = KEYEVENTF_KEYUP; // KEYRELEASE
SendInput(1, &ip, sizeof(INPUT));
Sleep(500);
}

Sleep(5000);

return 0;
}


*почему я решила что мне нужна именно имитация ps/2.

Раньше я использовала кликерман который является скриптовым языком и при подключении туда пс2 режима нажатие клавиш спокойно себе проходило. Но стыд и позор мне если бы я не стремилась к большему, поэтому если кто то сможет мне дать пример работающего кода на с++ с нажатием клавиш или наводку на то как это сделать было бы очень хорошо. На сайберфоруме мне посоветовали изучить принцип работы перехватчиков и для чего они используются, но полезной информации к сожалению найти для себя не смогла.

Dimedrol1536
01.10.2015, 21:31
А если так?
HWND hWnd = FindWindow(NULL, "Название окна");
SendMessage(hWnd, VK_F1, NULL, NULL);