【发布时间】:2016-08-19 01:16:00
【问题描述】:
这是我迄今为止编写的脚本。它仅部分有效。 只有在播放警报后,我才需要它来截取电脑的屏幕截图。当我运行脚本时,它会立即截屏,将其保存在正确的文件名和位置下,然后关闭 mspaint。然后它将每 20 秒循环一次,然后再循环一次。我的 while 命令出了点问题,我无法弄清楚。我如何阅读我的语法,它应该停留在 while 循环中,直到 Elapsed 小于 20 秒。然后一旦文件被访问,退出while循环并继续无限循环。
Loop {
FileGetTime, LastTime, alarm.wav, A
Elapsed := A_Now - LastTime
while (Elapsed > 20000){
FileGetTime, LastTime, alarm.wav, A
Elapsed := A_Now - LastTime
}
send {PrintScreen}
Run, MSPaint
WinWaitActive, Untitled - Paint
Send ^v
Sleep, 50
Send ^s
Sleep, 50
Send c:\Screenshots\
Send %A_Now%
Sleep, 100
Send {Enter}
Sleep, 2000
WinClose, ahk_exe MSPaint.exe
Sleep, 20000
}
【问题讨论】:
-
获取文件时间算作 Access,我猜。尝试删除
, A -
不,“A”告诉应用程序获取文件的“A”访问时间。
-
我很抱歉不是故意让它像那样脱落。 :) 如果我删除“A”它默认为“M”并获取文件的修改时间。我不能使用修改后的时间,因为播放文件不会修改它。我也检查过,运行脚本不会影响上次访问时间。在我关闭脚本后立即显示 4 分钟前的访问时间。
标签: autohotkey