2017-11-17 2 views
0

이 코드를 사용하여 Windows에서 pyhook으로 마우스 위치를 감지합니다. 내가 필요로하는 것은 마우스 클릭을 감지하고 실행 전에 지연을 추가하는 것입니다 - 시나리오 : 마우스로 클릭하지만이 클릭은 0.5 초 지연되어야합니다 (따라서 0.5 초 후에 클릭이 실행되어야합니다). 어떻게 든 가능합니까? 이처럼지연 마우스 클릭 0.5 초

import pyHook 
import pythoncom 

def onclick(event): 
    print event.Position 
    return True 

hm = pyHook.HookManager() 
hm.SubscribeMouseAllButtonsDown(onclick) 
hm.HookMouse() 
pythoncom.PumpMessages() 
hm.UnhookMouse() 
+0

'onclick'시작 부분에'time.sleep (0.5)'를 추가하는 것은 어떨까요? –

+0

왜 그런지 모르지만 단순히 시간을 추가하는 것만으로는 작동하지 않습니다. 잠깐 – peter

+0

질문 : '원하는 창에서 어떻게 만드나요?' – dsgdfg

답변

0

는 : 응용 프로그램이 과정에 초점을 맞추고 경우

import pyHook 
import pythoncom 
import time 
import thread 

class _HK : 
    def __init__(self): 
     self.ev = None 
    def run(self,passarg): 
     pythoncom.CoInitialize() 
     while True : 
      if self.ev != None : 
       time.sleep(1) 
       print self.ev.Position 
       self.ev = None 

HK = _HK() 
s = thread.start_new_thread(HK.run,(None,)) 


def onclick(event): 

    HK.ev = event 

    return True 

hm = pyHook.HookManager() 
hm.SubscribeMouseAllButtonsDown(onclick) 
hm.HookMouse() 
pythoncom.PumpMessages() 
hm.UnhookMouse() 

다른 정의가 잘못되었습니다. 처음에는 프로세스가 시스템에 의해 해결되어야합니다. 그러면 내부 및 외부 구성 요소에 액세스 할 수 있습니다. pythoncom.CoInitialize()은 기능 또는 추가 프로세스가 필요합니다!

도움이 되었기를 바랍니다 (테스트 완료).