如果按了某个键,我怎么能做一次真正的休息呢?[Python]
我的脚本使一段时间为真:从按下F4开始,但我希望它在按下F2时停止,我该怎么做 我正在尝试这个(使用pyhook),但不起作用如果按了某个键,我怎么能做一次真正的休息呢?[Python],python,windows,Python,Windows,我的脚本使一段时间为真:从按下F4开始,但我希望它在按下F2时停止,我该怎么做 我正在尝试这个(使用pyhook),但不起作用 def onKeyboardEvent(event): if event.KeyID == 115: #F4 while True: selectAndCopy(468,722) getClipboard() time.sleep(2) if
def onKeyboardEvent(event):
if event.KeyID == 115: #F4
while True:
selectAndCopy(468,722)
getClipboard()
time.sleep(2)
if event.KeyID == 113:
break
return True
您没有在循环中更改
event
,因此您不会期望event.KeyID
在以前为115时突然变为113
您可以做的是,在处理F4按键时,启动一个计时器,每两秒钟执行一次selectAndCopy。当您通过F2击键获得另一个事件时,终止计时器
它可能看起来像这样:
def onKeyboardEvent(event):
if event.KeyID == 115: #F4
startTimer(doTimer, 2)
if event.KeyID == 113:
stopTimer()
def doTimer():
selectAndCopy(468,722)
getClipboard()
您必须提供或找到
startTimer()
和stopTimer()
的实现,因为您没有在循环中更改event
,所以您不会期望event.KeyID
在之前为115时突然变为113
您可以做的是,在处理F4按键时,启动一个计时器,每两秒钟执行一次selectAndCopy。当您通过F2击键获得另一个事件时,终止计时器
它可能看起来像这样:
def onKeyboardEvent(event):
if event.KeyID == 115: #F4
startTimer(doTimer, 2)
if event.KeyID == 113:
stopTimer()
def doTimer():
selectAndCopy(468,722)
getClipboard()
您必须提供或找到startTimer()
和stopTimer()
的实现
你能给我举个例子吗?我对pyhook一无所知,所以我会编一些东西,看看我能做什么。有了线程。Timer我可以做一个计时器,但它不会循环=/你能给我举个例子吗?我对pyhook一无所知,所以我会编一些东西,看看我能做什么。有了线程。Timer我可以做一个计时器,但它不会循环=/