开始写入时运行命令,停止写入后4秒运行

时间:2015-09-07 12:30:05

标签: c# vb.net autohotkey

每次开始写作时我都需要运行一个程序,并且在我停止写作后4秒钟再次运行。

怎么做?

我已经尝试使用autohotkey而没有运气..

3 个答案:

答案 0 :(得分:2)

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

AutoHotkey的:

unwrap

答案 1 :(得分: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的答案,他的意志

答案 2 :(得分:0)

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

顺便说一下: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
  }
}