2014-07-11 3 views
-1
#include "windows.h" 
#include "iostream" 
#include "winuser.h" 

using namespace std; 

bool disabled; 

int main() 
{ 
    disabled = true; 
    cout << "Press INSERT to toggle me on/off. Initially, I am disabled." << endl; 
    a: 
    if(GetAsyncKeyState(VK_INSERT)){ 
     disabled = false; 
    } 
    while(disabled == true){ 
     goto a; 
    } 
    while(disabled==false){ 
     while(GetAsyncKeyState(0x51)){ 
      keybd_event(0x67,0x67,KEYEVENTF_EXTENDEDKEY, 0); 
     } 
    } 
    return 0; 
} 

이것은 Q의 입력을 제거하고 대신 7을 보내는 간단한 프로그램입니다. 내가 메모장을 열고이를 테스트하는 경우keybd_event 문제가 있습니다.

그러나, 결과는

내가 내 키보드가 Q를 보낼 싶지 않아, 내가 그걸 어떻게 해결할 수 q7777777777777777777777q777777777777777777777777777777777q777777777777777777777777q77777777777777처럼?

또한 일반 키를 누르고있는 것처럼 간단한 일시 중지를 만들 수 있습니까? 예를 들어, 지금 'a'를 누르고있는 경우 :

aaaaaaaaaaaaa 첫 번째 a 다음에 잠시 멈추고 나서 스팸이 ​​진행됩니다. 어떻게 그것을 복제 할 수 있습니까?

+1

설명서 상단에서 : *이 기능은 대체되었습니다. 대신 SendInput을 사용하십시오. * Q를 7로 바꾸려면 AutoHotKey를 사용하십시오. ':: Q :: 7' – chris

답변

0

키보드 이벤트를 가로 채려면 SetWindowsHookEx 함수에 WH_KEYBOARD_LL 인수를 사용하십시오.

keybd_event 또한 키 누름을 시뮬레이트하지만 플래그로 두 번째로 keybd_event을 호출하여 키 릴리스를 시뮬레이트해야합니다.

관련 문제