SendInput을 사용하여 키 누름을 보내는이 코드가 있지만 길게 키를 누르고 싶을 때 작동하지 않습니다 (예 : 'a'를 길게 누르면 'aaaaaaaaa '메모장에서).SendInput이 보류 키 C++에서 작동하지 않습니다.
이제 Google을 둘러 보았습니다.이 문제를 해결하기 위해 볼 수있는 유일한 방법은 오랫동안 기다렸다가 입력을 계속 보내는 것입니다. 나는 이것이 'a'를 반복해서 반복해서 시뮬레이션 할 것이기 때문에 그렇게하고 싶지 않습니다. 내가 바로이 사용 SendInput을 주위에 방법이없고 왜 홀드 기능이 작동하지 않습니다 생각하는 건가요
A) :
keyboard.wVk = 0;
keyboard.wScan = MapVirtualKey(key, 0);
keyboard.dwFlags = KEYEVENTF_SCANCODE;
if (index_vector_no)
pressed[index_vector_no] = true;
keyboard.dwExtraInfo = 0;
input.type = INPUT_KEYBOARD;
input.ki = keyboard;
SendInput(1, &input, sizeof (input));
그래서 나는 다음과 같은 질문에 어떤 대답을 하시겠습니까?
B) 키 다운 및 키 업 신호를 성공적으로 전송할 수있는 대체 방법은 무엇입니까? 가급적 특정 응용 프로그램뿐만 아니라 Windows에 키를 보내는 것이 좋습니다.
C) 글로벌 키보드 및 마우스 시뮬레이션을 처리 할 수있는 우수한 경량 C++ 라이브러리가 있습니까?
미리 감사드립니다. =)
편집 : 내 문제의 자세한 내용은이 게시물에 대해 살펴 보자 http://www.experts-exchange.com/Programming/Languages/Visual_Basic/Q_20833788.html
Windows 용입니까? VC++를 사용하고 있습니까? –
여러 번 누를 때의 시뮬레이션 문제는 무엇입니까? 내가 생각할 수있는 유일한 이유는 그 차이가 ... 창구 일 것입니다. – chris
예. Windows에 있습니다. 그리고 난 그냥. Cpp 파일 엔딩과 함께 일반 C++을 사용하고있다. 나는 그것이 차이를 만드는 경우 MinGW 컴파일러를 사용하고 있습니다! @Chris 이것은 게임을 제어하기위한 것이므로 앞으로 갑자기 움직이는 사람과 만날 것입니다. 감사합니다.) – geekman92