set wshshell = createobject("wscript.shell")
wshshell.exec "程序路径"
A脚本set ws=CreateObject("WScript.Shell")
msgbox ws.CurrentDirectory '当前工作文件夹
ws.Run """C:\Program Files\Internet Explorer\123.vbs"""
B脚本
WScript.echo Left(WScript.ScriptFullName,Len(WScript.ScriptFullName)-Len(WScript.ScriptName))
wscript.sleep(5000)
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
WScript.echo WScript.ScriptFullName '返回当前运行脚本的完整路径名。
WScript.echo WScript.ScriptName'返回当前运行脚本的文件名。
WScript.echo WScript.Path '返回主可执行文件路径名称。
WScript.echo WScript.FullName '返回主可执行文件名称
set WshShell = WScript.CreateObject("WScript.Shell")WshShell.AppActivate "Calculator"
AppActivate 方法返回的布尔值表示过程调用是否成功。例如,可用下列方法判断:
if (WshShell.AppActivate "Calculator") then
msgbox "Calculator running"
else
msgbox "Calculator not running"
end if
根据调用的方法、函数的返回值作下一步的 *** 作。具体的参考可看“Script56.CHM”。
****************************************
对不起,疏忽了,我再次查帮助:
1、前面的例子漏了一句:
WshShell.Run "calc"
AppActivate 方法返回的布尔值表示过程调用是否成功。该方法将焦点转移到命名应用程序或窗口中。
------------------------------------------
此方法并不能监视启动的程序是否还在运行。
并且我也不知道为何在脚本运行与帮助中所说的不一致。但我试了几种方法,脚本大多不能监控所调用的外部程序的状态。
2、脚本中用Run方法调用外部程序,可以等待程序执行完成,并查看其返回值:
object.Run(strCommand, [intWindowStyle], [bWaitOnReturn])
bWaitOnReturn :
可选。布尔值,表示在继续执行脚本中的下一条语句之前,脚本是否等待执行完程序。如果设为 true,则在执行完程序后才执行脚本,Run 方法返回由程序返回的任何错误代码。如果设为 false(默认值),则 Run 方法将自动在启动程序后立即返回 0(不是错误代码)。
--------------------------------------------
例子:
Set WshShell = WScript.CreateObject("WScript.Shell")
Return = WshShell.Run("calc", 1, true)
WScript.Sleep 100
if Return<>0 Then '程序出错
WshShell.Popup "Calculator running error,"&vbcrlf&_
" Return value is: "&Return,4
Else '正常退出
WshShell.Popup "Calculator stop running,"&vbcrlf&_
" Return value is: "&Return,4
End If
set WshShell =Nothing
目前只有这一个算是可行的了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)