Python開發:pywin32模擬鍵盤和鼠標事件


一、依賴插件安裝

  github地址:https://github.com/mhammond/pywin32

  1、pip安裝(主要適用於python3.6版本及以前)

  在cmd命令行中執行安裝命令:

pip install pywin32

  2、PyCharm插件安裝

  打開PyCharm開發工具,通過菜單里File -> Settings -> Python InterPreter進行pywin32插件的搜索和安裝:

  

  3、手動安裝(主要適用於python3.7版本及以后)

  訪問該插件的github地址:

  

  點擊most recent release進入pywin32最近的版本列表中,根據自己電腦的情況選擇一個版本進行下載(下載的插件版本需與本地python版本一致):

  

  雙擊打開exe安裝文件:

  

  安裝路徑要注意,應該安裝到本地python路徑下的\lib\site-packages\文件夾下:

  

  之后一直下一步到安裝完成為止。

  打開cmd窗口,在python內執行import命令引入pywin32相關包:

  

  能夠正常引入不報錯,則說明該插件已安裝成功。

二、簡單應用

  1、鼠標操作:

      //獲取鼠標當前所在位置的橫縱坐標
      win32api.GetCursorPos()
//設置鼠標當前所在位置(瞬移位置) win32api.SetCursorPos((x, y))  
//鼠標在當前所在位置按下左鍵(只是按下,不松開) win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0) 
//鼠標在當前所在位置抬起左鍵(松開) win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
//鼠標在當前所在位置按下右鍵(只是按下,不松開) win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0)
//鼠標在當前所在位置抬起右鍵(松開) win32api.mouse_event(win32con.MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0)

  2、鍵盤操作:

      //按下鍵盤的某個鍵(根據鍵值)
      win32api.keybd_event(val, 0, 0, 0) 
//松開鍵盤的某個鍵(根據鍵值) win32api.keybd_event(val, 0, win32con.KEYEVENTF_KEYUP, 0)

  按鍵和鍵值對應表(例:要按下A鍵,則將按下命令中的val改為A對應鍵值65即可):

  字母鍵值表:

按鍵 鍵碼 按鍵 鍵碼 按鍵 鍵碼
A 65 J 74 S 83
B 66 K 75 T 84
C 67 L 76 U 85
D 68 M 77 V 86
E 69 N 78 W 87
F 70 O 79 X 88
G 71 P 80 Y 89
H 72 Q 81 Z 90
I 73 R 82    

  字母上方數字鍵值表:

按鍵 鍵碼 按鍵 鍵值 按鍵 鍵值
0 48 4 52 8 56
1 49 5 53 9 57
2 50 6 54    
3 51 7 55    

  數字鍵盤鍵值表 && F快捷鍵兼鍵值表:

按鍵 鍵碼 按鍵 鍵碼 按鍵 鍵碼 按鍵 鍵碼
0 96 8 104 F1 112 F9 120
1 97 9 105 F2 113 F10 121
2 98 * 106 F3 114 F11 122
3 99 + 107 F4 115 F12 123
4 100 Enter 108 F5 116    
5 101 - 109 F6 117    
6 102 . 110 F7 118    
7 103 / 111 F8 119    

  其他鍵值表:

按鍵 鍵碼 按鍵 鍵碼 按鍵 鍵碼 按鍵 鍵碼
BackSpace 8 Esc 27 Right Arrow 39 -_ 189
Tab 9 Spacebar 32 Down Arrow 40 .> 190
Clear 12 Page Up 33 Insert 45 /? 191
Enter 13 Page Down 34 Delete 46 `~ 192
Shift 16 End 35 Num Lock 144 [{ 219
Control 17 Home 36 ;: 186 / 220
Alt 18 Left Arrow 37 =+ 187 ]} 221
Cape 20 Up Arrow 38        

  注:通過按鍵的按下和抬起的先后順序搭配,比如先按下Alt鍵,不抬起,再按下A鍵,執行完操作后,再以此抬起,來達到同時按下組合鍵的效果。

  3、搭配使用:

  鼠標、鍵盤事件,與定時、循環等事件可以搭配完善成方法,做成腳本來運行,代替人工完成重復的手動操作。  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM