请教个非常简单的VBS脚本,怎么后台延时启动一个程序,启动后延时在关闭

谢谢了,将感激不尽想要实现的功能,开机自动运行脚本,等待10分钟,启动迅雷并隐藏,在等待10分钟关闭,请问怎么实现,谢谢了... 谢谢了,将感激不尽
想要实现的功能,开机自动运行脚本,等待10分钟,启动迅雷并隐藏,在等待10分钟关闭,请问怎么实现,谢谢了
展开
 我来答
百度网友5311d79
推荐于2017-09-29 · TA获得超过1.9万个赞
知道大有可为答主
回答量:6356
采纳率:71%
帮助的人:3126万
展开全部

思路:


1. 用RegWrite将vbs文件名写入开机启动注册表项:

"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run"

Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Run", "ThunderSpy.vbs", "REG_SZ" 'vbs文件名请自己修改

不过写注册表操作可能会被杀软拦截。


2. 等待10分钟

WScript.Sleep 10*60*1000

 

3. 启动迅雷并隐藏

Set oShell = WScript.CreateObject ("WSCript.shell")
oShell.run "cmd /c start C:\Program Files\Thunder", 0 '自己修改迅雷路径

 /c 选项表示执行指定的命令后关闭命令提示窗口(黑窗口)。

第二个参数0表示隐藏应用。


4. 关闭迅雷(杀进程)

两种方法。

DOS命令TASKKILL方法:

Set wshShell = WScript.CreateObject("WScript.Shell") 
wshShell.run "TASKKILL /IM Thunder.exe", 0 '自己确认迅雷的进程名

WMI方法:

strComputer="." 
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colProcessList=objWMIService.ExecQuery ("select * from Win32_Process where Name='Thunder.exe'") '自己确认迅雷的进程名
For Each objProcess in colProcessList 
    objProcess.Terminate()
Next
追问
大神,我私信你了,回复下QQ号,偶是新手,就是临时做一些东西,谢谢了,上面你分了几个步骤,是不是编辑一个文本,合并在一起,改一下扩展名就可以了呢?还有参数0代表隐藏,我试验了一下,并没有隐藏,我把0去掉了,显示了命令窗口,所以参数0是隐藏的命令提示窗口,但是我要隐藏的是迅雷程序,请教一下,这个怎么解决
追答
  1. 我本地没有装迅雷,所以不清楚迅雷的exe可执行文件路径在哪里,进程名是什么,这些都需要你自己去修改。

  2. 公司禁用QQ,所以有什么问题只能通过百度私信或者百度hi来聊。

  3. 参数0没有隐藏,是代码需要修改一下。

    Set oShell = WScript.CreateObject ("WSCript.shell")
    oShell.run "C:\Program Files\Thunder.exe", 0 '自己修改迅雷exe程序路径
    之前写的代码是通过cmd窗口来运行,这样隐藏操作就是针对cmd窗口而非针对迅雷窗口的。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式