2010-12-04 4 views
7

어떤 응용 프로그램을 보내더라도 마우스 클릭을 잡는 프로그램을 만들고 싶습니다. 그런 다음 1 초에 20 번의 마우스 클릭을 시뮬레이트해야합니다. 파이썬에 아주 새로운 오전, 나는 정말 많은 것을 이해하고 있지 않다, 그러나 나는 여러 사이트에서 검색 한 나는이 코드를 조립 :파이썬에서 입력 제어 프로그램이 필요합니다.

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라는 이름의 일부 파일을 만듭니다 : 나는 그러나 그것을 시작하면, 그 나오는 무엇인가? 감사!

+0

당신이 이벤트 핸들러에서 이벤트를 생성하고있는 것처럼 보입니다. 무한 루프를 생성하는 이벤트 – jfs

+0

오, 그래! 당신 말이 맞아요. 클릭 만 생성하고 다시 연결하기 전에 마우스를 클릭해야합니다. 고마워요! – user530476

+1

파일 중 하나가'new.py'라는 이름으로 보이고 파이썬의 stdlib에서'new' 모듈을 가리 킵니다. 스크립트에 다음과 같이 쓰십시오 :'import new; 새로운 .__ file__'을 인쇄하십시오. 출력은 무엇입니까? – jfs

답변

1

사용 eventghost : http://www.eventghost.org/

  • 오픈 소스
  • 당신은
  • 당신은 할 수있다 (심지어 원시 HID 장치를 캡처 할 수 있습니다)
  • 당신은 다른 이벤트를 많이 잡을 수
  • 파이썬에서 플러그인을 작성할 수 있습니다 그것은 보통/파이썬으로 할 수있는 일을합니다.
+0

나는 이것을 정말로 필요로하지 않습니다. J.F. Sebastien은 이미 저의 코드를 수정하도록 도와주었습니다. – user530476

관련 문제