[Python进阶] WindowsAPI:pywin32.win32api

6.26 WindowsAPI:pywin32.win32api

6.26.1 鼠标相关

6.26.1.1 SetCursorPos

移动光标到指定位置(以桌面左上角为0,0做参考)

win32api.SetCursorPos((left, right))

6.26.1.2 mouse_event

操作鼠标

win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0) # 按下鼠标左键

注意:360等安全软件会拦截虚拟按键,可以添加信任或者关闭。
示例1:移动鼠标到特定位置并模拟鼠标点击

import win32api
import win32con
import time


def mouse_click(left, right):
    time.sleep(1)
    win32api.SetCursorPos((left, right))
    time.sleep(1)
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
    time.sleep(0.2)
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)

mouse_click(138, 43)

6.26.2 键盘相关

判断大小写状态:

flag = win32api.GetKeyState(win32con.VK_CAPITAL)

若flag == 1,则此时为大写灯点亮状态,若flag == 0,则此时为大写灯灭状态。
键码对照表:

按键 键码 备注
Backspace 8
Tab 9
Clear 12
Enter 13
Shift 16
Control 17
Alt 18
Cap Lock 20
Esc 27
Spacebar 32
Page Up 33
Page Down 34
End 35
Home 36
Left Arrow 37
Up Arrow 38
Right Arrow 39
Down Arrow 40
+ 43 错误
, 44 错误
Insert 45
Delete 46
/ 47 错误
0(小键盘) 48
1(小键盘) 49
2(小键盘) 50
3(小键盘) 51
4(小键盘) 52
5(小键盘) 53
6(小键盘) 54
7(小键盘) 55
8(小键盘) 56
9(小键盘) 57
: 58 无反应
; 59 无反应
< 60 无反应
= 61 无反应
> 62 无反应
? 63 无反应
@ 64 无反应
A、a 65 大小写视大写锁定而定
B、b 66 大小写视大写锁定而定
C、c 67 大小写视大写锁定而定
D、d 68 大小写视大写锁定而定
E、e 69 大小写视大写锁定而定
F、f 70 大小写视大写锁定而定
G、g 71 大小写视大写锁定而定
H、h 72 大小写视大写锁定而定
I、i 73 大小写视大写锁定而定
J、j 74 大小写视大写锁定而定
K、k 75 大小写视大写锁定而定
L、l 76 大小写视大写锁定而定
M、m 77 大小写视大写锁定而定
N、n 78 大小写视大写锁定而定
O、o 79 大小写视大写锁定而定
P、p 80 大小写视大写锁定而定
Q、q 81 大小写视大写锁定而定
R、r 82 大小写视大写锁定而定
S、s 83 大小写视大写锁定而定
T、t 84 大小写视大写锁定而定
U、u 85 大小写视大写锁定而定
V、v 86 大小写视大写锁定而定
W、w 87 大小写视大写锁定而定
X、x 88 大小写视大写锁定而定
Y、y 89 大小写视大写锁定而定
Z、z 90 大小写视大写锁定而定
[ 91 无反应
\ 92 无反应
] 93 无反应
_ 95 无反应
0(数字键盘) 96
1(数字键盘) 97
2(数字键盘) 98
3(数字键盘) 99
4(数字键盘) 100
5(数字键盘) 101
6(数字键盘) 102
7(数字键盘) 103
8(数字键盘) 104
9(数字键盘) 105
* 106
F1 112
F2 113
F3 114
F4 115
F5 116
F6 117
F7 118
F8 119
F9 120
F10 121
F11 122
F12 123
{ 123 无反应
124
} 125 无反应
~ 126 无反应
Num Lock 144
import win32api

# 按下并释放A
a_code = 65
win32api.keybd_event(a_code, 0, 0, 0)  # 按下A
win32api.keybd_event(a_code, 0, win32con.KEYEVENTF_KEYUP, 0)  # 释放A
# 快捷键Alt+F
win32api.keybd_event(18, 0, 0, 0)  # 按下Alt
win32api.keybd_event(70, 0, 0, 0)  # 按下F
win32api.keybd_event(70, 0, win32con.KEYEVENTF_KEYUP, 0)  # 释放F
win32api.keybd_event(18, 0, win32con.KEYEVENTF_KEYUP, 0)  # 释放Alt

你可能感兴趣的:(Python进阶,#,六,系统及相关操作,python,WindowsAPI,Python进阶,开发语言)