python写⿏标宏_win操作(1)-键盘⿏标输⼊
python⽐较底层的⿏标键盘操作使⽤win32api包,使⽤这个包需要win32con配合,后者封装了⼏乎所有windos操作定义的宏,⽐如:
⿏标操作
voidmou_event(
DWORDdwFlags,
DWORDdx,
DWORDdy,
DWORDdwData,
ULONG_PTRdwExtraInfo
);
第⼀个参数dwflags
MOUSEEVENTF_ABSOLUTE是否启⽤绝对坐标唯⼀⼀个需要配合其他状态使⽤的值
MOUSEEVENTF_LEFTDOWN按下⿏标左键
MOUSEEVENTF_LEFTUP放开⿏标左键
MOUSEEVENTF_MIDDLEDOWN按下中间键
MOUSEEVENTF_MIDDLEUP放开中间键
MOUSEEVENTF_MOVE⿏标移动
MOUSEEVENTF_RIGHTDOWN按下右键
MOUSEEVENTF_RIGHTUP放开右键
MOUSEEVENTF_XDOWN扩展键按下⼀些⿏标有侧键具体看⿏标驱动
MOUSEEVENTF_XUP扩展键放开⼀些⿏标有侧键具体看⿏标驱动
MOUSEEVENTF_WHEEL正向滚
MOUSEEVENTF_HWHEEL⽅向滚
第⼆个参数是x坐标
第三个参数是y坐标
第四个参数是⼀般是配合MOUSEEVENTF_WHEEL使⽤,默认值是120代表⼀滚多少距离,负数值是反向滚
第五个参数⼀般不需要⽤到,代表⼀下扩展信息,32位,⼗分不常⽤
⿏标单击
defmou_left_click():
"""
封装⿏标点击
"""
mou_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0)
mou_event(MOUSEEVENTF_LEFTUP,0,0,0,0)
⼀般教程会告诉你⿏标操作包括按下和放开,然后后⾯的那四个参数不重要,记住这样⽤就可以了(-_-不重要~)。强迫症的⼈会纠结x,y的值
为什么0是代表当前⿏标的位置,⽽不是绝对值(0,0);后⾯那两位0,0⼜是不是某个win32con定义的常量?但是如果他们这样举例可能就⽐
较清晰明⽩了。
defmou_left_click_fal():
"""
封装⿏标点击
"""
mou_event(MOUSEEVENTF_LEFTDOWN,Fal,Fal)
mou_event(MOUSEEVENTF_LEFTUP,Fal,Fal)
没错包括后⾯要讲到的keybd_event但不仅限于它,很多常量仅仅是代表布尔值Fal,代表不要求这参数(这才是⼀堆0的意义,它⼀般是取
默认值或者当前值的意思)
键盘操作
voidkeybd_event(
BYTEbVk,
BYTEbScan,
DWORDdwFlags,
ULONG_PTRdwExtraInfo
);
第⼀个参数是vk_code是按键映射的编码
各个按键对应的vk_code可以看上⾯的⽹址。
第⼆个参数是扫描码,⼜是⼀个映射级别的编码,⼀般教程会说可以设为0(但是这⾥同样是Fal的意思)
UINTMapVirtualKeyA(
UINTuCode,
UINTuMapType
);
这个编码可以通过tualKeyA函数模拟,uMapType⼀般选0代表MAPVK_VK_TO_VSC,还有其他值,意思看英⽂可以猜
到。
MAPVK_VK_TO_CHAR->2
MAPVK_VSC_TO_VK->1
MAPVK_VSC_TO_VK_EX->3
第三个参数代表操作,有KEYEVENTF_EXTENDEDKEY(1)和KEYEVENTF_KEYUP(2)两种模式,第⼀种代表⼀直按住该键,注意这⾥是
⼀直按住,即使后⾯紧跟着keyup也不会⽣效,第⼆种就是名字的意思了,就是放开按键。其实这⾥还有第三种默认参数,就是当这个值等
于Fal的时候,代表按下按键,这种按下是可以keyup的,所以经常会见到这样写代表某个按键的输⼊操作。
keybd_event(vk_code,0,0,0)
keybd_event(vk_code,0,KEYEVENTF_KEYUP,0)
第四个参数是扩展参数,基本不是写原⽣C的话可以不考虑这个参数了。完整的键盘模拟操作如下:
keybd_event(vk_code,tualKeyA(vk_code,_VK_TO_VSC),Fal)
keybd_event(vk_code,tualKeyA(vk_code,_VK_TO_VSC),KEYEVENTF_KEYUP)
本文发布于:2023-03-03 13:37:05,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/1677821826123639.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:鼠标侧键.doc
本文 PDF 下载地址:鼠标侧键.pdf
留言与评论(共有 0 条评论) |