http://www.cnblogs.com/jxgxy/archive/2013/09/20/3330818.html
wscript addto-startup.js
【转】捕获Wscript.Quit的退出码
http://blog.sina.com.cn/s/blog_5f435c130101alcc.html
【原文链接】http://officevba.blog.51cto.com/897505/243583
1.vbs代码: WScript.Sleep 1000 WScript.Echo "test" WScript.Quit 5|
2.vbs代码: Dim WshShell, oExec Set WshShell = CreateObject("WScript.Shell") Set oExec = WshShell.Exec("wscript.exe 1.vbs") Do While oExec.Status = 0 WScript.Sleep 100 Loop WScript.Echo oExec.ExitCode
如此就可以捕获1.vbs的退出码为5,2.vbs中的sleep语句是等待1.vbs执行的,去掉2中的sleep语句会显示为0而不是5了。
顺便说一下,Exec函数具有很多Run函数不具有的功能,Exec函数返回的是一个对象,故而具有更多功能(见下面),恰恰Run函数返回的仅仅是个数字,代表运行结果即返回值,所以2.vbs的代码当然也可以写成如下: Dim WshShell, oExec Set WshShell = CreateObject("WScript.Shell") WScript.Echo WshShell.Run("wscript.exe ""C:Documents and Settingspatrol桌面1.vbs""",,True) 注意这里1.vbs要使用绝对地址了,因为Wscript.exe默认其所在的目录为当前目录;另外一定要使用True。 附记:WshExec类具有属性ExitCode,ProcessID,Status,StdErr,StdIn,StdOut以及一个函数Terminate,这些属性和函数都很好理解。 Status属性具有三个值: Const WshFailed = 2 Const WshFinished = 1 Const WshRunning = 0 关于Run的用法可以参见http://hi.baidu.com/patrolsun/blog/item/1695eb1fc851f608304e15ca.html
|
【vs开发安装项目,用到.vsb脚本的官方参考示例文档】: