任务计划程序,计划vbs脚本

时间:2020-08-21 07:45:55

标签: vbscript menu task scheduler

我已经用Visual Basic创建了一个包含菜单栏的应用程序。使用应用程序中的菜单栏,我可以启动VB脚本,效果很好。

下一步是每天安排任务,因此我不必手动启动脚本。

我想使用任务计划程序每天执行任务,并编写一个我在任务计划程序中计划的.vbs脚本。通过从任务计划程序手动启动任务来测试脚本。但是按计划(例如在第二天早上)失败了:该程序已启动,但未执行下一步。.我正在使用笔记本电脑,一直供电,睡眠模式已关闭,Windows10

我的vbs脚本:

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.SendKeys("{F13}") 
WScript.Sleep 10*1000 '10 sec
WshShell.Run  "C:\360_Stuurprogramma\bin\Debug\360_Stuurprogramma.exe"
WScript.Sleep 5*1000 '5 sec
WshShell.AppActivate """360 Applicatie"" -p1 -c"
WScript.Sleep 20*1000
wshShell.SendKeys "^S"
WScript.Sleep 20*60*1000 '20 min, maximum time needed to perform the job
WshShell.Run "taskkill /f /im 360_Stuurprogramma.exe", , True

1 个答案:

答案 0 :(得分:0)

只有带有前台GUI的程序才能设置活动窗口。由活动窗口启动的程序有两秒钟的时间来显示GUI 成为前台窗口。完整规则在这里-https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setforegroundwindow NB Task Scheduler将永远不会成为前台窗口。

系统限制可以设置前景窗口的进程。一种 仅在以下情况之一时,进程才能设置前景窗口 条件成立:

•该过程是前台过程。

•该进程由前台进程启动。

•该进程收到了最后一个输入事件。

•没有前台进程。

•该进程正在调试中。

•前台过程不是现代应用程序或开始 屏幕。

•前景未锁定(请参见LockSetForegroundWindow)。

•前景锁定超时已到期(请参阅 SystemParametersInfo中的SPI_GETFOREGROUNDLOCKTIMEOUT。)

•没有菜单处于活动状态。

当用户使用时,应用程序无法将窗口强制到前台 正在使用另一个窗口。而是Windows闪烁任务栏 窗口中的按钮以通知用户。