4 回答

TA貢獻1851條經驗 獲得超3個贊
函數原型:
VOID keybd_event( BYTE bVk, BYTE bScan, DWORD dwFlags, DWORD dwExtraInfo );
4個參數都是輸入參數。
bVk:鍵名,例如: VK_NUMPAD7,VK_BACK, VK_TAB,VK_SHIFT,VK_F1,。。。
keybd_event(VK_MENU,0xb8,0 , 0); -- 按下Alt 鍵
keybd_event(VK_MENU,0xb8,KEYEVENTF_KEYUP,0); -- 放開 Alt 鍵 (復位,彈上來)
===
下面程序模擬按 notepad 編輯器。等于C語言 system("notepad"); 彈出 記事本。
void simu_notepad()
{
keybd_event(VkKeyScan('N'),1,0,0);
keybd_event(VkKeyScan('N'),1,KEYEVENTF_KEYUP,0);
keybd_event(VkKeyScan('O'),0x98,0,0); keybd_event(VkKeyScan('O'),0x98,KEYEVENTF_KEYUP,0);
keybd_event(VkKeyScan('T'),0x94,0,0); keybd_event(VkKeyScan('T'),0x94,KEYEVENTF_KEYUP,0);
keybd_event(VkKeyScan('E'),0x92,0,0); keybd_event(VkKeyScan('E'),0x92,KEYEVENTF_KEYUP,0);
keybd_event(VkKeyScan('P'),0x99,0,0); keybd_event(VkKeyScan('P'),0x99,KEYEVENTF_KEYUP,0);
keybd_event(VkKeyScan('A'),0x9E,0,0); keybd_event(VkKeyScan('A'),0x9E,KEYEVENTF_KEYUP,0);
keybd_event(VkKeyScan('D'),0xA0,0,0); keybd_event(VkKeyScan('D'),0xA0,KEYEVENTF_KEYUP,0);
keybd_event(VK_RETURN,1,0,0);
keybd_event(VK_RETURN,1,KEYEVENTF_KEYUP,0);
}

TA貢獻1887條經驗 獲得超5個贊
調用格式: 〈無返回值〉 模擬鼠標點擊 (整數型 X坐標,整數型 Y坐標,[整數型 點擊類型]) - 應用接口支持庫->系統處理
英文名稱:SimulateMouse
模擬鼠標的點擊。本命令為初級命令。
參數<1>的名稱為“X坐標”,類型為“整數型(int)”。
參數<2>的名稱為“Y坐標”,類型為“整數型(int)”。
參數<3>的名稱為“點擊類型”,類型為“整數型(int)”,可以被省略。模擬鼠標點擊的類型,可以為以下常量值之一:0、#接口常量.左鍵單擊;
1、#接口常量.左鍵雙擊;
2、#接口常量.右鍵單擊;
3、#接口常量.右鍵雙擊。

TA貢獻1831條經驗 獲得超9個贊
::mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, GetMessageExtraInfo());
::mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, GetMessageExtraInfo());
就用這個函數,
你問如何在后臺起作用?你可以寫一個計時器后者開一個線程,那樣就可以一直不斷的執行。
添加回答
舉報