Je veux créer un programme qui attrape les clics de souris, peu importe dans quelle application il est envoyé. Ensuite, il doit simuler vingt clics de souris en une seconde. Je suis tout à fait nouveau pour Python, et je ne suis pas vraiment comprendre beaucoup, mais je l'ai cherché dans plusieurs sites et j'ai monté ce code:Besoin d'un programme de contrôle d'entrée en 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")
Ceci est juste un échantillon. Il doit générer 2 clics de souris avec un second intervalle. Quand je commence il cependant, c'est ce qui sort:
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'
Et il crée le fichier indiqué new.pyc
...
Toute idée comment résoudre ce problème? Merci!
Il semble que vous générez des événements dans le gestionnaire d'événements pour l'événement qui produit une boucle infinie. – jfs
Oh ouais! Tu as raison. Seulement je dois décrocher la souris avant de générer les clics puis la rebrancher! Merci beaucoup! – user530476
Il semble que l'un de vos fichiers s'appelle 'new.py' et il ombrage le module' new' de stdlib de Python. Écrivez dans votre script: 'import new; imprime le nouveau fichier .____. Quelle est la sortie? – jfs