| 网站首页 | 业界新闻 | 群组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 141 人关注过本帖
标题:VBS任务计划问题
只看楼主 加入收藏
ihukh
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2019-3-29
结帖率:50%
  已结贴   问题点数:20  回复次数:3   
VBS任务计划问题
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’不起作用了!!!这是为什么?求大神支招,万分感谢!
2019-04-03 11:45
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:242
帖 子:4368
专家分:26703
注 册:2008-10-15
  得分:20 
你计划任务是开机启动吗?
以这个为前提猜测可能性
电脑启动里,需要加载大量的进程,加载的进程也要读写硬盘,存在 平时1秒可以执行完的操作,在开机时,需要5秒才能执行的完可能性,这种情况下,A.exe 在约定的时间之内还没有启动完,就按下F5了,自然不起作用。

测试:修改延时等待时间,也就是这句:
wscript.sleep 200
这后面200,单位是毫秒,你可以扩大 10倍 试试。

授人于鱼,不如授人于渔
早已停用QQ了
2019-04-03 12:44
ihukh
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2019-3-29
  得分:0 
回复 2楼 风吹过b
这个时间试过了,改大改小都试过,还是不行。好像是那个F5不能在a.exe界面按下。它其实有执行了‘F5’,但是执行‘F5’的时候a.exe不是选中状态。所以‘F5’不起作用。但是我双击就可以哦。就是放在任务计划那里不知道为什么会这样。百思不得其解。不知道有什么办法解决。我只是想方便一点而已。人为操作也会忘记。
开机启动也试过,计划时间启动也试过,手动运行任务计划也试过,都不行。

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

2019-04-04 11:16
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:242
帖 子:4368
专家分:26703
注 册:2008-10-15
  得分:0 
那就可能是前台进程的问题。
对 vbs 不怎么熟。

授人于鱼,不如授人于渔
早已停用QQ了
2019-04-05 11:58







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.092033 second(s), 8 queries.
Copyright©2004-2019, BCCN.NET, All Rights Reserved