运行 开始写入时和停止写入后 4 秒的命令
Run command when beginning writing and 4 seconds after stop writing
每次开始写作时我都需要运行一个程序,停止写作后 4 秒又需要一个程序。
如何操作?
我尝试过 autohotkey 但没有成功..
未经测试的脚本,但应该进行一些调整,我认为 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()
}
我不知道 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 的回答,他会做
谢谢!
没有尝试其他代码,但看起来与我最终所做的非常相似。
我用过 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
}
}
每次开始写作时我都需要运行一个程序,停止写作后 4 秒又需要一个程序。
如何操作?
我尝试过 autohotkey 但没有成功..
未经测试的脚本,但应该进行一些调整,我认为 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()
}
我不知道 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 的回答,他会做
谢谢! 没有尝试其他代码,但看起来与我最终所做的非常相似。 我用过 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
}
}