vc模擬鍵盤輸入
keybd_event(VK_LWIN, 0, 0 ,0);
keybd_event('M', 0, 0 ,0);
keybd_event('M', 0, KEYEVENTF_KEYUP ,0);
keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP,0);
方法1:
HWND hwnd=::FindWindow(0,"文檔1"); //假設(shè)你要找的窗口標題為“文檔1”
CWnd::FromHandle(hwnd)->SetForegroundWindow();
::PostMessage(hwnd,WM_KEYDOWN, VK_ESCAPE, 0L); //發(fā)送ESC按下的鍵盤消息
方法2:這里以向記事本程序發(fā)送Ctrl+s按鍵消息為例:
CWnd *pWnd = FindWindow("Notepad", NULL);
if (pWnd->GetSafeHwnd())
{
pWnd->ShowWindow(SW_NORMAL);
pWnd->SetForegroundWindow();
keybd_event(VK_CONTROL, 0, 0, 0);
keybd_event('S', 0, 0, 0);
keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0);
keybd_event('S', 0, KEYEVENTF_KEYUP, 0);
}
對于其他程序,關(guān)鍵就是要找到就收消息的窗口句柄。
::mouse_event(1) 模擬鼠標動作API函數(shù)mouse_event,它可以實現(xiàn)模擬鼠標按下和放開等動作。
VOID mouse_event(
DWORD dwFlags, // 鼠標動作標識。
DWORD dx, // 鼠標水平方向位置。
DWORD dy, // 鼠標垂直方向位置。
DWORD dwData, // 鼠標輪子轉(zhuǎn)動的數(shù)量。
DWORD dwExtraInfo // 一個關(guān)聯(lián)鼠標動作輔加信息。
);
其中,dwFlags表示了各種各樣的鼠標動作和點擊活動,它的常用取值如下:
MOUSEEVENTF_MOVE 表示模擬鼠標移動事件。
MOUSEEVENTF_LEFTDOWN 表示模擬按下鼠標左鍵。
MOUSEEVENTF_LEFTUP 表示模擬放開鼠標左鍵。
MOUSEEVENTF_RIGHTDOWN 表示模擬按下鼠標右鍵。
MOUSEEVENTF_RIGHTUP 表示模擬放開鼠標右鍵。
MOUSEEVENTF_MIDDLEDOWN 表示模擬按下鼠標中鍵。
MOUSEEVENTF_MIDDLEUP 表示模擬放開鼠標中鍵。
歡迎光臨 (http://m.zg4o1577.cn/bbs/) | Powered by Discuz! X3.1 |