python模拟鼠标键盘_python32模拟鼠标和键盘操作

前言

Windows pywin32允许你像vc一样的形式来使用python开发win32应用。代码风格可以类似win32 sdk,也可以类似MFC,由你选择。如果你仍不放弃vc一样的代码过程在python下,这不错的选择。

利用pywin32可以自动化进行电脑操作。包括复制粘贴,鼠标移动,键盘输入等等。

下载链接

一、pywin32常用函数

(1)获取鼠标位置

win32api.GetCursorPos()

1

(2)鼠标左键按下

win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)

1

(3)鼠标左键放开

win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)

1

(4)鼠标右键按下

win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)

1

(5)鼠标右键放开

win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)

1

(6)设置鼠标位置

win32api.SetCursorPos((x, y))

1

(7)键盘输入事件

win32api.keybd_event(VK_CODE[word], 0, 0, 0)

win32api.keybd_event(VK_CODE[word], 0, win32con.KEYEVENTF_KEYUP, 0)

1

2

二、封装接口

(1)获取当前鼠标位置

def cursor_point(self):

"""

获取当前鼠标位置

"""

pos = win32api.GetCursorPos()

return int(pos[0]), int(pos[1])

1

2

3

4

5

6

(2)鼠标左击事件

def mouse_left_click(self, new_x=None, new_y=None, times=1):

"""

鼠标左击事件

:param new_x: 新移动的坐标x轴坐标

:param new_y: 新移动的坐标y轴坐标1506240215

:param times: 点击次数

"""

self.mouse_move(new_x, new_y)

time.sleep(0.05)

while times:

win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)

win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)

times -= 1

1

2

3

4

5

6

7

8

9

10

11

12

13

(3)鼠标右击事件

def mouse_right_click(self, new_x=None, new_y=None):

"""

鼠标右击事件

:param new_x: 新移动的坐标x轴坐标

:param new_y: 新移动的坐标y轴坐标

"""

self.mouse_move(new_x, new_y)

time.sleep(0.05)

win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)

win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)

1

2

3

4

5

6

7

8

9

10

(4)移动鼠标位置

def mouse_move(self, new_x, new_y):

if new_y is not None and new_x is not None:

point = (new_x, new_y)

win32api.SetCursorPos(point)

self.x = new_x

self.y = new_y

1

2

3

4

5

6

(5)键盘输入文本

def key_input(self, input_words=''):

for word in input_words:

win32api.keybd_event(VK_CODE[word], 0, 0, 0)

win32api.keybd_event(VK_CODE[word], 0, win32con.KEYEVENTF_KEYUP, 0)

time.sleep(0.1)

1

2

3

4

5

(6)键盘输入事件

def key_even(self, input_key):

win32api.keybd_event(VK_CODE[input_key], 0, 0, 0)

win32api.keybd_event(VK_CODE[input_key], 0, win32con.KEYEVENTF_KEYUP, 0)

time.sleep(1)

1

2

3

4

三、代码仓库

---------------------

作者:毕宿

来源:CSDN

原文:https://blog.csdn.net/qq_33371343/article/details/78916751

版权声明:本文为博主原创文章,转载请附上博文链接!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值