一、依賴插件安裝
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、搭配使用:
鼠標、鍵盤事件,與定時、循環等事件可以搭配完善成方法,做成腳本來運行,代替人工完成重復的手動操作。