2014-07-11 88 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出現問題

不過,如果我打開記事本,並對此進行測試,結果都一樣q7777777777777777777777q777777777777777777777777777777777q777777777777777777777777q77777777777777

我不希望我的鍵盤送Q,我怎麼能解決呢?

另外,如果您按住常規鍵,我該如何創建一個簡短的暫停?例如,如果我現在按住'a':

aaaaaaaaaaaaa 在第一個a後有一個短暫的暫停,然後繼續發送垃圾郵件。我如何複製它?

+1

從文檔頂部:*該功能已被取代。使用SendInput代替。*爲了用7代替Q,只需使用AutoHotKey。 ':: Q :: 7' – chris

回答

0

攔截鍵盤事件使用SetWindowsHookEx函數與WH_KEYBOARD_LL參數。

另外,keybd_event模擬按鍵,但您還需要通過標誌第二次調用keybd_event來模擬按鍵釋放。