python - 需要一个python输入控制程序

标签 python windows input mouse

我想创建一个程序来捕捉鼠标点击,无论它被发送到哪个应用程序。然后它必须在一秒钟内模拟二十次鼠标点击。我是 Python 的新手,我并不是很了解,但我在几个网站上进行了搜索,并组装了这段代码:

import time
import ctypes
import pyHook
import pythoncom
MOUSEEVENTF_MOVE = 0x0001 # mouse move
MOUSEEVENTF_ABSOLUTE = 0x8000 # absolute move
MOUSEEVENTF_MOVEABS = MOUSEEVENTF_MOVE + MOUSEEVENTF_ABSOLUTE

MOUSEEVENTF_LEFTDOWN = 0x0002 # left button down 
MOUSEEVENTF_LEFTUP = 0x0004 # left button up 
MOUSEEVENTF_CLICK = MOUSEEVENTF_LEFTDOWN + MOUSEEVENTF_LEFTUP

def click(vdf):
    hm.UnhookMouse()
    ctypes.windll.user32.mouse_event(MOUSEEVENTF_CLICK, 0, 0, 0, 0)
    time.sleep(1)
    ctypes.windll.user32.mouse_event(MOUSEEVENTF_CLICK, 0, 0, 0, 0)
    hm.HookMouse()
    return 0

hm = pyHook.HookManager()
hm.SubscribeMouseAllButtonsDown(click)
hm.HookMouse()
pythoncom.PumpMessages()
os.system("pause")

这只是一个示例。它必须以第二个间隔生成 2 次鼠标点击。然而,当我启动它时,结果是这样的:

Traceback (most recent call last):
  File "C:\Documents and Settings\Valjo\Desktop\hack.py", line 3, in <module>
    import pyHook
  File "D:\Python2.7\lib\site-packages\pyHook\__init__.py", line 1, in <module>
    from HookManager import *
  File "D:\Python2.7\lib\site-packages\pyHook\HookManager.py", line 1, in<module>
    import cpyHook
  File "D:\Python2.7\lib\site-packages\pyHook\cpyHook.py", line 9, in <module>
    new_instancemethod = new.instancemethod
AttributeError: 'module' object has no attribute 'instancemethod'

然后它创建了一些名为 new.pyc 的文件...

有什么解决办法吗?谢谢!

最佳答案

使用事件幽灵:http://www.eventghost.org/

  • 开源
  • 你可以用 Python 编写插件
  • 您可以捕获许多不同的事件(您甚至可以捕获原始 HID 设备)
  • 你可以让它运行/做任何你通常可以用 Python 做的事情

关于python - 需要一个python输入控制程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4354011/

相关文章:

c++ - Windows 7奇怪的异常现象

linux - 如何更改 Docker for Windows 的所有者

python - 是否有任何关于 numpy 数值稳定性的文档?

python - os.tmpfile() 在 Windows 下不起作用?

c++ - 我想制作一个移动文件的 C++ 程序

java - Java中的音频输入捕获——字节数组

c - 为什么我的程序在提供输入后无法运行?

python - Django 分析

python - 如何将一个大数字拆分成单个数字?