利用Python实现Windows下的鼠标键盘模拟的实例代码

yipeiwu_com5年前Python基础

本文介绍了利用Python实现Windows下的鼠标键盘模拟的实例代码,分享给大家

本来用按键精灵是可以实现我的需求,而且更简单,但既然学python ,就看一下呗。

依赖:

PyUserInput

pip install PyUserInput

PyUserInput 依赖 pyhook,所以还得安装 pyhook。按需下载,下载地址

我是 win10 64 位 python 2.7,用的是第二个,下载之后用解压软件打开,把 pyHook放到C:\Python27\Lib\site-packages\pyHook下即可。

环境有了,看一下代码。

模拟鼠标

from pymouse import *

m = PyMouse()

m.click(1806, 14)

m.click(x,y,button,n) #鼠标点击
#x,y #是坐标位置
#button #1表示左键,2表示点击右键
#n –点击次数,默认是1次,2表示双击

m.click(577, 490, 1)

比较简单,看一下鼠标事件监控:

 class Clickonacci(PyMouseEvent):
   def __init__(self):
     PyMouseEvent.__init__(self)

   def click(self, x, y, button, press):
     print(time.time(), button, press)


 c = Clickonacci()
 c.run()

这里要注意是阻塞线程的。

模拟键盘

from pykeyboard import *

k = PyKeyboard()

k.type_string(u'杀毒防御') # 我靠不能输入中文啊。。。
k.press_key('H') # 模拟键盘按H键
k.release_key('H') # 模拟键盘松开H键
k.tap_key('H') # 模拟点击H键

k.tap_key('H', n=2, interval=5) # 模拟点击H键,2次,每次间隔5秒
k.tap_key(k.function_keys[5]) # 点击功能键F5

#组合键模拟
#例如同时按alt+tab键盘
k.press_key(k.alt_key) # 按住alt键
k.tap_key(k.tab_key) # 点击tab键
k.release_key(k.alt_key) # 松开alt键

键盘事件监听:

class TapRecord(PyKeyboardEvent):
  def __init__(self):
    PyKeyboardEvent.__init__(self)

  def tap(self, keycode, character, press):
    print(time.time(), keycode, character, press)

t = TapRecord()
t.run()

嗯,本来我是想整点东西的,但后来发现 360 太猛了,对360的窗口都无效,其他倒是不影响。毕竟是做安全的公司,如果有效的话,可以在运行真实代码前把360给关了,这样就能为所欲为了。我只是想模拟一下限制网速而已。。。。太猛了。搞了很久,一点办法都没有。

上一张监听键盘的效果图:

不要干坏事哦。。。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

解决pycharm无法识别本地site-packages的问题

解决pycharm无法识别本地site-packages的问题

之前一直用python自带的IDLE写python程序,后来发现有一些限制啥的,于是下载了pycharm作为IDE去处理python 新建项目以后本以为能直接跑以前的代码,发现有些库无法...

Python socket模块方法实现详解

这篇文章主要介绍了Python socket模块方法实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 socket ssh (不...

Python程序中的观察者模式结构编写示例

Python程序中的观察者模式结构编写示例

察者模式定义 定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖都会收到通知并自动更新。观察者模式提供了一种对象设计,让主题和观察者之间松耦合。 设计原则 为了交互...

浅谈python 四种数值类型(int,long,float,complex)

Python支持四种不同的数值类型,包括int(整数)long(长整数)float(浮点实际值)complex (复数),本文章向码农介绍python 四种数值类型,需要的朋友可以参考一...

基于python list对象中嵌套元组使用sort时的排序方法

在list中嵌套元组,在进行sort排序的时候,产生的是原数组的副本,排序过程中,先根据第一个字段进行从小到大排序,如果第一个字段相同的话,再根据第二个字段进行排序,依次类推,当涉及到字...