注册 登录
编程论坛 VB6论坛

VBS任务计划问题

ihukh 发布于 2019-04-03 11:45, 2602 次点击
Dim WshShell, oNotepad
Set WshShell = CreateObject("WScript.Shell") '创建WScript.Shell对象
Set oNotepad = WshShell.Exec("D:\Program Files\a.exe") '这里修改为你的程序名称
WshShell.AppActivate oNotepad.ProcessID '激活你的程序
wscript.sleep 200
WshShell.SendKeys "{F5}" '模拟F5按键

我把代码写成这样,保存为aa.vbs。我双击运行是没有问题的,能满足我的需求,自动启动了a.exe,并且在a程序界面下自动按了'f5'启动了相关功能。但是我把它放到任务计划里运行,就只会打开a.exe程序,‘F5’不起作用了!!!这是为什么?求大神支招,万分感谢!
3 回复
#2
风吹过b2019-04-03 12:44
你计划任务是开机启动吗?
以这个为前提猜测可能性
电脑启动里,需要加载大量的进程,加载的进程也要读写硬盘,存在 平时1秒可以执行完的操作,在开机时,需要5秒才能执行的完可能性,这种情况下,A.exe 在约定的时间之内还没有启动完,就按下F5了,自然不起作用。

测试:修改延时等待时间,也就是这句:
wscript.sleep 200
这后面200,单位是毫秒,你可以扩大 10倍 试试。
#3
ihukh2019-04-04 11:16
回复 2楼 风吹过b
这个时间试过了,改大改小都试过,还是不行。好像是那个F5不能在a.exe界面按下。它其实有执行了‘F5’,但是执行‘F5’的时候a.exe不是选中状态。所以‘F5’不起作用。但是我双击就可以哦。就是放在任务计划那里不知道为什么会这样。百思不得其解。不知道有什么办法解决。我只是想方便一点而已。人为操作也会忘记。
开机启动也试过,计划时间启动也试过,手动运行任务计划也试过,都不行。

[此贴子已经被作者于2019-4-4 11:19编辑过]

#4
风吹过b2019-04-05 11:58
那就可能是前台进程的问题。
对 vbs 不怎么熟。
1