-1
그래서 저는 키팅 시뮬레이터를 가지고 있습니다. 2 초마다 키 "W"를 누릅니다. 그러나 'WASD'키를 사용하는 게임에서 테스트하고 있습니다. 프로그램을 실행하고 게임을 실행하면 캐릭터가 움직이지 않습니까? 나는 W 키를 물리적으로 움직여야한다. 어떤 아이디어? 여기 게임에서의 키 누르기 시뮬레이션 [C++]
내 코드입니다 :#include <iostream>
#define WINVER 0x0500
#include <windows.h>
class KeyBot {
private:
INPUT _buffer[1];
public:
KeyBot();
void KeyUp(char key);
void KeyDown(char key);
void KeyClick(char key);
};
KeyBot::KeyBot() {
_buffer->type = INPUT_KEYBOARD;
_buffer->ki.wScan = 0;
_buffer->ki.time = 0;
_buffer->ki.dwExtraInfo = 0;
}
void KeyBot::KeyUp(char key) {
_buffer->ki.wVk = key;
_buffer->ki.dwFlags = KEYEVENTF_KEYUP;
SendInput(1, _buffer, sizeof(INPUT));
}
void KeyBot::KeyDown(char key) {
_buffer->ki.wVk = key;
_buffer->ki.dwFlags = 0;
SendInput(1, _buffer, sizeof(INPUT));
}
void KeyBot::KeyClick(char key) {
KeyDown(key);
Sleep(10);
KeyUp(key);
}
int main() {
KeyBot bot;
while (1) {
bot.KeyDown(0x57); //Press and hold 'W'
Sleep(2000); // Wait 2000 ms (2 seconds)
bot.KeyUp(0x37);
}
}
아마도 입력을 실제로 처리하는 코드가 필요합니다. –
@ AurelBílý 무엇을 의미합니까? 이것은 내가 가지고있는 유일한 코드입니다. – thetester2
@ AurelBílý 게임을하기 위해서는 그 입력을 게임에 보내야합니까? 죄송합니다. 프로그래밍이 처음이었습니다. – thetester2