利用 Python 实现 Windows 下的鼠标键盘模拟
2017-07-12 本文已影响1841人
wuhtt
本来用按键精灵是可以实现我的需求,而且更简单,但既然学python ,就看一下呗。
依赖:
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给关了,这样就能为所欲为了。我只是想模拟一下限制网速而已。。。。太猛了。搞了很久,一点办法都没有。
上一张监听键盘的效果图:
不要干坏事哦。。。欢迎赞赏。