这是执行类似操作的粗略大纲...您必须调试代码才能使窗口标题正常工作(使用托盘图标中的 Window Spy 功能为 VS Code 获取适当的 WinTitle,并参见帮助说明WinTitle)。您还必须调试 run 语句以使其运行备份...您可以直接运行备份或作为批处理文件运行备份,有时让批处理文件工作更容易。
; Global variable to store last active window time
Global gLastActive
; This will call the Backup() function periodically..
SetTimer, Backup, % 15*60*1000 ; 15 minutes, in milliseconds
; This is the main loop, just sets a global if the window is active at any point
Loop {
If WinActive("VS Code") { ; this will need to be a valid WinTitle
gLastActive := A_TickCount
; MsgBox % "Window detected..." ; debug message for getting WinTitle correct
}
Sleep 1000
}
ExitApp ; Denote logical end of program, will never execute
; Backup function will run periodically and only back things up
; if VS Code was active since last time...
Backup() {
Static lastTick
; If the window was active after the last backup, run a backup this time
If (gLastActive>lastTick)
Run, C:\Target.cmd, C:\WorkingDir, Hide ; this will need to be corrected for syntax
lastTick := A_TickCount
}
在 AutoHotkey 中相对容易做到……如果您之前没有使用过它,您可能还想获取具有语法突出显示的 SciTE4AutoHotkey。
这是执行类似操作的粗略大纲...您必须调试代码才能使窗口标题正常工作(使用托盘图标中的 Window Spy 功能为 VS Code 获取适当的 WinTitle,并参见帮助说明
WinTitle
)。您还必须调试 run 语句以使其运行备份...您可以直接运行备份或作为批处理文件运行备份,有时让批处理文件工作更容易。注意:这是完全未经测试的代码,只是给你一个框架示例,可以尝试并开始。