程序模拟键盘鼠标操作
生活随笔
收集整理的這篇文章主要介紹了
程序模拟键盘鼠标操作
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
用代碼模擬鍵盤鼠標操作,主要用到keybd_event/mouse_event或者SendInput? API函數.使用示例如下(附注釋):
????????/*????????*?模擬鍵盤輸入,以按窗口鍵(WIN鍵)為例
????????*/
????????//keybd_event模擬鍵盤輸入示例
????????::keybd_event(?VK_LWIN,??0,??0?,?0?);????//按下WIN鍵??????????
????????::keybd_event(?VK_LWIN,??0,??KEYEVENTF_KEYUP,?0?);?//彈起WIN鍵??????
????????//SendInput模擬鍵盤輸入示例
????????INPUT?keyInput[2];
????????memset(?keyInput,?0,?sizeof(?keyInput?)?);
????????keyInput[0].type?=?keyInput[1].type?=?INPUT_KEYBOARD;??//設置為鍵盤輸入
????????keyInput[0].ki.wVk?=?keyInput[1].ki.wVk?=?VK_LWIN;??//操作WIN鍵
????????keyInput[1].ki.dwFlags??=?KEYEVENTF_KEYUP;???//彈起????
????????::SendInput(?_countof(?keyInput?),?keyInput,?sizeof(?INPUT?)?);
????????/*
????????*?模擬鼠標輸入,以單擊開始菜單為例
????????*?由于我的機器分辨率為1440*900,因而鼠標位置(0,880)剛好位于開始菜單的位置
????????*/
????????//mouse_event模擬鼠標輸入示例
????????::SetCursorPos(?0,??880?);?????//將當前鼠標位置設置到開始菜單位置
????????::mouse_event(?MOUSEEVENTF_ABSOLUTE?|?MOUSEEVENTF_LEFTDOWN,??0,?0,?0,?NULL?);??//模擬左鍵按下
????????::mouse_event(?MOUSEEVENTF_ABSOLUTE?|?MOUSEEVENTF_LEFTUP,?0,??0,?0,?NULL?);???????//模擬左鍵彈起
????????//SendInput模擬鼠標輸入示例
????????::SetCursorPos(?0,??880?);??//將當前鼠標位置設置到開始菜單位置
????????INPUT?mouseInput[2];
????????memset(?mouseInput,?0,?sizeof(?mouseInput?)?);
????????mouseInput[0].type?=?mouseInput[1].type?=?INPUT_MOUSE;?????????//設置為鼠標輸入
????????mouseInput[0].mi.dwFlags?=?MOUSEEVENTF_ABSOLUTE?|?MOUSEEVENTF_LEFTDOWN;??//左鍵按下
????????mouseInput[1].mi.dwFlags??=?MOUSEEVENTF_ABSOLUTE?|?MOUSEEVENTF_LEFTUP;??//左鍵彈起
????????::SendInput(?_countof(?mouseInput?),?mouseInput,?sizeof(?INPUT?)?);
?
轉載于:https://www.cnblogs.com/fangkm/archive/2009/04/24/1442998.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的程序模拟键盘鼠标操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 云南干旱 谁人受损 心有戚戚 愤怒哀
- 下一篇: Flex读取XML不刷新问题