请教个非常简单的VBS脚本,怎么后台延时启动一个程序,启动后延时在关闭
谢谢了,将感激不尽想要实现的功能,开机自动运行脚本,等待10分钟,启动迅雷并隐藏,在等待10分钟关闭,请问怎么实现,谢谢了...
谢谢了,将感激不尽
想要实现的功能,开机自动运行脚本,等待10分钟,启动迅雷并隐藏,在等待10分钟关闭,请问怎么实现,谢谢了 展开
想要实现的功能,开机自动运行脚本,等待10分钟,启动迅雷并隐藏,在等待10分钟关闭,请问怎么实现,谢谢了 展开
1个回答
展开全部
思路:
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是隐藏的命令提示窗口,但是我要隐藏的是迅雷程序,请教一下,这个怎么解决
追答
我本地没有装迅雷,所以不清楚迅雷的exe可执行文件路径在哪里,进程名是什么,这些都需要你自己去修改。
公司禁用QQ,所以有什么问题只能通过百度私信或者百度hi来聊。
参数0没有隐藏,是代码需要修改一下。
Set oShell = WScript.CreateObject ("WSCript.shell")
之前写的代码是通过cmd窗口来运行,这样隐藏操作就是针对cmd窗口而非针对迅雷窗口的。
oShell.run "C:\Program Files\Thunder.exe", 0 '自己修改迅雷exe程序路径
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询