华硕主板bios鼠标不动a288进入py系统键盘鼠标就失灵了

python 模拟键盘鼠标输入
我的图书馆
python 模拟键盘鼠标输入
最近需要模拟键盘鼠标的输入,一番查找之后,得到的一些结果
************************************************************************************************************************
pyUserInput,可以模拟键盘鼠标,功能很全,用起来很方便
需要同时安装pyhook
这是其中pyMouse的一个例子
from pymouse import PyMouse
m = PyMouse()
m.position() #gets mouse current position coordinates
m.move(x,y)
m.click(x,y) #the third argument "1" represents the mouse button
m.press(x,y) #mouse button press
m.release(x,y) #mouse button release
************************************************************************************************************************
eventGhost
************************************************************************************************************************
python 也有自己的SendKeys模块
************************************************************************************************************************
/questions//python-simulate-keydown
各种模拟key的方法
提到了direct input
TA的推荐TA的最新馆藏
喜欢该文的人也喜欢下次自动登录
现在的位置:
& 综合 & 正文
windows下python捕捉键盘鼠标事件
最近学习python中, 需要调用gui的wincom组件,网上搜罗了很多相关资料。但是大部分资料都有问题。也许跟python的开源和版本问题有关。
下面我就把网上罗列出来最多的捕捉键盘鼠标事件的代码做一下小小修改,可能对个别和我遇到相同问题的人有帮助。
先说明下我的python环境:
版本python2.7,win32扩展库 为2.7下的216版本,还有一个pyhook的扩展库。
引用的源代码:
# -*- coding: utf-8 -*-
# http://oldj.net/
import pythoncom
import win32gui
import pyHook
def onMouseEvent(event):
# 监听鼠标事件
print "MessageName:", event.MessageName
print "Message:", event.Message
print "Time:", event.Time
print "Window:", event.Window
print "WindowName:", event.WindowName
print "Position:", event.Position
print "Wheel:", event.Wheel
print "Injected:", event.Injected
print "---"
# 返回 True 以便将事件传给其它处理程序
# 注意,这儿如果返回 False ,则鼠标事件将被全部拦截
# 也就是说你的鼠标看起来会僵在那儿,似乎失去响应了
return True
def onKeyboardEvent(event):
# 监听键盘事件
print "MessageName:", event.MessageName
print "Message:", event.Message
print "Time:", event.Time
print "Window:", event.Window
print "WindowName:", event.WindowName
print "Ascii:", event.Ascii, chr(event.Ascii)
print "Key:", event.Key
print "KeyID:", event.KeyID
print "ScanCode:", event.ScanCode
print "Extended:", event.Extended
print "Injected:", event.Injected
print "Alt", event.Alt
print "Transition", event.Transition
print "---"
# 同鼠标事件监听函数的返回值
return True
def main():
# 创建一个“钩子”管理对象
hm = pyHook.HookManager()
# 监听所有键盘事件
hm.KeyDown = onKeyboardEvent
# 设置键盘“钩子”
hm.HookKeyboard()
# 监听所有鼠标事件
hm.MouseAll = onMouseEvent
# 设置鼠标“钩子”
hm.HookMouse()
# 进入循环,如不手动关闭,程序将一直处于监听状态
pythoncom.PumpMessages()
win32gui.PumpMessages()
if __name__ == "__main__":
各位看官, 通过颜色区别可以看到问题了吧,没错,之前的代码是用pythoncom来调用pumpMessages()函数。
但是会报找不到的错误,通过win32自带的api我发现可以用win32gui去调用这个函数,作用是一样的。
多了不解释,大家自己试吧~
&&&&推荐文章:
【上篇】【下篇】Python-模拟鼠标键盘动作 - 简书
Python-模拟鼠标键盘动作
在使用电脑的时候,偶尔有需求要模拟鼠标键盘,进行一些机械重复的操作(刷新网页、抢票、某些小游戏等)。如果为此专门下载一个按键精灵,总感觉杀鸡用牛刀,所以就开始探索一些轻量级解决方案。本人电脑上配置了Python,自然就想到那句名言
人生苦短,我用PythonLife is short, you need Python -Bruce Eckel
参考网上的各种例子后,发现了这个项目。在配置完成后,调用非常简便。
进入项目主页,可以看到这个Python库是跨平台支持的,但是对应不同平台,需要安装依赖库。
Linux - Xlib (python-xlib)Mac - Quartz, AppKitWindows - pywin32, pyHook
使用pip工具,直接安装
pip install PyUserInput
以下部分参考PyUserInput项目在Python官网的只做简要翻译,方便理解。详细方法可以调用help()函数查看。
在安装完PyUserInput后,pymouse和pykeyboard模块就被安装到你的Python路径下。
建立一个鼠标和键盘对象:
from pymouse import PyMouse
from pykeyboard import PyKeyboard
m = PyMouse()
k = PyKeyboard()
接下来是一个示例,完成点击屏幕中央并键入“Hello, World!”的功能:
x_dim, y_dim = m.screen_size()
m.click(x_dim/2, y_dim/2, 1)
k.type_string('Hello, World!')
PyKeyboard还有很多种方式来发送键盘键入:
# pressing a key
k.press_key('H')
# which you then follow with a release of the key
k.release_key('H')
# or you can 'tap' a key which does both
k.tap_key('e')
# note that that tap_key does support a way of
repeating keystrokes with a interval time between each
k.tap_key('l',n=2,interval=5)
# and you can send a string if needed too
k.type_string('o World!')
并且它还支持很多特殊按键:
#Create an Alt+Tab combo
k.press_key(k.alt_key)
k.tap_key(k.tab_key)
k.release_key(k.alt_key)
k.tap_key(k.function_keys[5]) # Tap F5
k.tap_key(k.numpad_keys['Home']) # Tap 'Home' on the numpad
k.tap_key(k.numpad_keys[5], n=3) # Tap 5 on the numpad, thrice
注意,你也可以使用press_keys方法将多个键一起发送(例如,使用某些组合键):
# Mac example
k.press_keys(['Command','shift','3'])
# Windows example
k.press_keys([k.windows_l_key,'d'])
平台之间的一致性是一个很大的挑战,请参考你使用的操作系统对应的源码,来理解你需要使用的按键格式。例如:
k.tap_key(k.alt_key)
k.tap_key('Alternate')
我还想特别说明一下PyMouseEvent和PyKeyboardEvent的使用。
这些对象是一个架构用于监听鼠标和键盘的输入;他们除了监听之外不会做任何事,除非你继承他们【注1】。PyKeyboardEvent为编写完成,所以这里是一个继承PyMouseEvent的例子:
from pymouse import PyMouseEvent
def fibo():
while True:
a, b = b, a+b
class Clickonacci(PyMouseEvent):
def __init__(self):
PyMouseEvent.__init__(self)
self.fibo = fibo()
def click(self, x, y, button, press):
'''Print Fibonacci numbers when the left click is pressed.'''
if button == 1:
print self.fibo.next()
else: # Exit if any other mouse button used
self.stop()
C = Clickonacci()
注1:原文为
These objects are a framework for listening for mous theydon't do anything besides listen until you subclass them.}

我要回帖

更多关于 华硕主板键盘鼠标失灵 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信