Ich möchte ein Programm erstellen, das Mausklicks erfasst, egal in welcher Anwendung es gesendet wird. Dann muss es zwanzig Mausklicks in einer Sekunde simulieren. Ich bin ganz neu in Python, und ich bin nicht wirklich viel Verständnis, aber ich habe in mehreren Standorten gesucht und ich zusammengebaut diesen Code:Benötigen Sie ein Eingabesteuerprogramm in 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")
Dies ist nur ein Beispiel. Es muss 2 Mausklicks mit einem zweiten Intervall erzeugen. Als ich es jedoch starten, ist das, was herauskommt:
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'
Und es schafft eine Datei mit dem Namen new.pyc
...
Irgendwelche Ideen, wie es zu beheben? Danke!
Es sieht so aus, als würden Sie Ereignisse im Event-Handler generieren für das Ereignis, das eine Endlosschleife erzeugt. – jfs
Oh ja! Du hast recht. Nur muss ich die Maus aushaken, bevor ich die Klicks erzeuge, dann hake sie erneut! Danke vielmals! – user530476
Es scheint, als ob eine Ihrer Dateien den Namen 'new.py' hat und das' neue' Modul von Pythons stdlib abschirmt. Schreibe in dein Skript: 'import new; Druck neu .__ Datei__'. Was ist die Ausgabe? – jfs