【问题标题】:Delay mouse click 0.5 second延迟鼠标点击 0.5 秒
【发布时间】:2017-11-17 21:03:39
【问题描述】:

我正在使用此代码在 Windows 中使用 pyhook 检测鼠标位置。我需要的是检测鼠标点击并在执行前添加延迟 - 场景:我用鼠标点击,但这次点击应该延迟 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()

【问题讨论】:

  • onclick的开头加一个time.sleep(0.5)怎么样?
  • 我不知道为什么,但它只是简单地添加 time.sleep 不起作用
  • 我有一个问题:How do you make it occur in the window you want ?
  • @dsgdfg,我不知道我是否理解你的问题。它应该将点击动作延迟 0.5 秒,然后释放点击动作。

标签: python python-2.7 pyhook


【解决方案1】:

像这样:

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() 需要一个函数或附加进程!

希望对您有所帮助(已测试)。

【讨论】:

    猜你喜欢
    • 2011-05-30
    • 1970-01-01
    • 2017-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多