2013-06-02 37 views
2

到目前爲止,我發現如何將鼠標移動到位置x和y以及左右點擊。我似乎無法弄清楚如何點擊某些內容,然後從C++中鍵入。如果我有一個單詞文件,我希望能夠點擊它,打開它並在其中輸入內容。提前致謝 !來自C++如何在我的電腦上輸入一個字符串到我的電腦上(不是窗口)

#include <windows.h> 
#include <iostream> 
#include <ctime> 
using namespace std; 

int main() 
{ 
SetCursorPos(97,758); 
mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); // Left click 
Sleep(1000); 
SetCursorPos(418,657); 
mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); 
SetCursorPos(266,34); 
Sleep(1000); 
mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); 
//right here is where I would like to type something to the document 
} 
+0

請你的問題更準確,更描述。我自己無法理解你的問題。讓你的問題吸引遊客。 Thx –

+3

那麼你有一切打開屏幕鍵盤,並點擊按鈕! –

+1

'keybd_event'(不建議使用)或'SendInput'會有很大的幫助。 – Aneri

回答

4

嘗試使用SendInput

SendInput on MSDN

INPUT ip; 

    // Set up a generic keyboard event. 
    ip.type = INPUT_KEYBOARD; 
    ip.ki.wScan = 0; // hardware scan code for key 
    ip.ki.time = 0; 
    ip.ki.dwExtraInfo = 0; 

    // Press the "A" key 
    ip.ki.wVk = 0x41; // virtual-key code for the "a" key 
    ip.ki.dwFlags = 0; // 0 for key press 
    SendInput(1, &ip, sizeof(INPUT)); 

    // Release the "A" key 
    ip.ki.dwFlags = KEYEVENTF_KEYUP; // KEYEVENTF_KEYUP for key release 
    SendInput(1, &ip, sizeof(INPUT)); 
+0

但這裏是殺手的問題!如何以編程方式更改鍵盤佈局?我猜我已經找到答案:( –

+0

@LoïcFaure-Lacroix你是什麼意思改變鍵盤佈局編程?這是一個桌面不是智能手機..你的意思是改變lanauge? –

+0

嗯,是的,這種語言經常被稱爲鍵盤佈局,因爲對於一種語言,可能有多個處置(佈局)。 –

相關問題