[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,则此时为大写灯灭状态。
键码对照表:

按键键码备注
Backspace8
Tab9
Clear12
Enter13
Shift16
Control17
Alt18
Cap Lock20
Esc27
Spacebar32
Page Up33
Page Down34
End35
Home36
Left Arrow37
Up Arrow38
Right Arrow39
Down Arrow40
+43错误
,44错误
Insert45
Delete46
/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、a65大小写视大写锁定而定
B、b66大小写视大写锁定而定
C、c67大小写视大写锁定而定
D、d68大小写视大写锁定而定
E、e69大小写视大写锁定而定
F、f70大小写视大写锁定而定
G、g71大小写视大写锁定而定
H、h72大小写视大写锁定而定
I、i73大小写视大写锁定而定
J、j74大小写视大写锁定而定
K、k75大小写视大写锁定而定
L、l76大小写视大写锁定而定
M、m77大小写视大写锁定而定
N、n78大小写视大写锁定而定
O、o79大小写视大写锁定而定
P、p80大小写视大写锁定而定
Q、q81大小写视大写锁定而定
R、r82大小写视大写锁定而定
S、s83大小写视大写锁定而定
T、t84大小写视大写锁定而定
U、u85大小写视大写锁定而定
V、v86大小写视大写锁定而定
W、w87大小写视大写锁定而定
X、x88大小写视大写锁定而定
Y、y89大小写视大写锁定而定
Z、z90大小写视大写锁定而定
[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
F1112
F2113
F3114
F4115
F5116
F6117
F7118
F8119
F9120
F10121
F11122
F12123
{123无反应
124
}125无反应
~126无反应
Num Lock144
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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

0思必得0

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值