问题描述:
在VBS后缀的文件中调用一个其他路径的可执行文件,该如何编译实现?
给个具体实例,谢谢!
解析:
set ws=createobject("wscript.shell")
ws.run "c:\11.exe"
有几种方法可以用vbs隐藏正在运行的a.exe程序的窗口。其中一种方法是使用CreateObject函数和Wscript.Shell对象来运行a.exe,并将第二个参数设置为0,表示隐藏窗口。例如:
CreateObject("Wscript.Shell").Run "a.exe",0,True
另一种方法是使用SendKeys函数和Alt+Space组合键来最小化a.exe的窗口。例如:
Set WshShell = WScript.CreateObject("WScript.Shell") WshShell.Run "a.exe" WScript.Sleep 100 WshShell.SendKeys "% n"
CreateObject函数是用来创建一个对象的,比如Wscript.Shell对象。Wscript.Shell对象可以用来执行命令行程序或脚本。Run方法是Wscript.Shell对象的一个方法,它可以用来运行一个程序或脚本,并指定窗口样式和是否等待程序结束。Run方法的语法是:
object.Run(strCommand, [intWindowStyle], [bWaitOnReturn])
其中,object是一个Wscript.Shell对象,strCommand是要运行的程序或脚本的名称,intWindowStyle是一个可选参数,表示窗口样式,bWaitOnReturn也是一个可选参数,表示是否等待程序结束后再继续执行脚本。
intWindowStyle参数可以取以下值:
0:隐藏窗口
1:正常窗口
2:最小化窗口
3:最大化窗口
…
bWaitOnReturn参数可以取以下值:
True:等待程序结束后再继续执行脚本
False:不等待程序结束就继续执行脚本
所以,如果你想用vbs隐藏正在运行的a.exe程序的窗口,并且等待它结束后再继续执行脚本,你可以使用这样的代码:
CreateObject("Wscript.Shell").Run "a.exe",0,True
如果你不想等待它结束,你可以使用这样的代码:
CreateObject("Wscript.Shell").Run "a.exe",0,False
SendKeys函数是用来模拟键盘输入的。你可以用它来发送一些组合键或快捷键来控制窗口。例如:
Set WshShell = WScript.CreateObject("WScript.Shell") WshShell.SendKeys "% n"
这段代码就是发送Alt+Space+N组合键,表示最小化当前活动窗口。
所以,如果你想用vbs最小化正在运行的a.exe程序的窗口,并且不等待它结束后再继续执行脚本,你可以使用这样的代码:
Set WshShell = WScript.CreateObject("WScript.Shell") WshShell.Run "a.exe" WScript.Sleep 100 WshShell.SendKeys "% n"
注意,在运行a.exe之后要加上一段延时(比如100毫秒),以确保a.exe已经启动并成为当前活动窗口。
希望对你有帮助。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)