2015-09-07 87 views
0

我需要在每次开始写入时运行程序,并在停止写入4秒后再运行一次程序。开始写入时运行命令,停止写入后4秒钟运行

有关如何做到这一点的任何想法?

我已经没有运气的AutoHotkey tryied ..

+0

你在写什么呢? –

+0

我有RSI(重复性劳损)。我试图整合eViacam(照相机,鼠标软件)和DwellClicker。问题是,停留唱首歌继续点击,而我因此我想在每次开始写作时使用PsSuspend暂停它,并在完成写作时继续:) – CuchoAv

+0

https:// windo ws-dwell-clicker.googlecode.com/files/DwellClicker.exe – CuchoAv

回答

2

未经测试脚本,但应与一些调整工作,我不认为psTools命令是正确的,我不打算安装所有这些程序为你测试它。如果您需要这里的帮助,我会很乐意进一步提供帮助。

的AutoHotkey:

startDwellClicker() { 
    Input, key, V L1, {space}.{esc}.{shift}.{enter}.{tab}.{Ctrl} ;Waits for Anykey to be pressed 
    Run, pssuspend "-r \\%A_ComputerName% dwellclicker.exe" ;Resume DwellClicker 
    pauseDwellClicker() 
} 

pauseDwellClicker() { 
    Loop { 
     Input, key, V L1 T4 
     if (ErrorLevel = "Timeout") ;Waits for 4 second Time Out 
      Break 
    } 
    Run, pssuspend "\\%A_ComputerName% dwellclicker.exe" ;Pause DwellClicker 
    startDwellClicker() 
} 
+0

谢谢!工作解决方案:) – CuchoAv

+1

@CuchoAv请将其标记为已接受! – Blauhirn

+0

@CuchoAv请标记此答案。我相信这是答案左上角的一个选项,此选项仅适用于海报。 – errorseven

1

我不知道什么是PS或RSI,但我知道AutoHotkey的是为你。

#persistent 

waitTime := 4 ; seconds 

isWriting := false 
loop { 
    input, anyKey, V L1 M I T%waitTime% 
    if(errorLevel=="Timeout") { 
     if(isWriting) { 
      goSub stoppedWriting 
      isWriting := false 
     } 
    } else { 
     if(!isWriting) { 
      goSub startedWriting 
      isWriting := true 
     } 
    } 
} 

return 

startedWriting: 
    send START 
return 

stoppedWriting: 
    send STOP 
return 

你必须利用Input命令和超时时间设置为任何你想要的,在上面的例子中我将其设置为4秒。有关此命令的可用选项的详细信息,请参阅Input

编辑。我误解了ahkcoder的回答,他的意愿是

0

谢谢! 没有尝试其他代码,但看起来与我最终做的非常相似。 我用AutoHotkey的:)

BTW:RSI基本上是..手一个很大的痛苦,因为电脑的腿部,肩部,手指:(...嘿嘿

这是工作代码:

Loop{ 
    Input, SingleKey, L1 V I B, {F1}{F2}{F3}{F4}{F5}{F6}{F7}{F8}{F9}{F10}{F11}{F12}{Left}{Right}{Up}{Down}{Del}{BS}{WheelUp}{WheelDown} 



    MouseGetPos,xpos,ypos 

    stop:=0 
    Run "D:\RSI\DesactivaDwell.vbs" 
    While !stop { 
    wait:=2500 
    While wait>0{ 
    ;If ANY Key is pressed again, we set wait=4000. Input works as Sleep for 100ms (Parameter T0.1) 
    Input,SingleKey, L1 V I B T0.5, {F1}{F2}{F3}{F4}{F5}{F6}{F7}{F8}{F9}{F10}{F11}{F12}{Left}{Right}{Up}{Down}{Del}{BS}{WheelDown}{WheelUp}{RButton} 
    If ErrorLevel=Timeout 
      wait-=500 
    Else 
    wait:=2500 
    } 

    Sleep,1000 
    Run "D:\RSI\ActivaDwell.vbs" 

    stop:=1 
    } 
}