我想知道如何调用exe并等待它关闭然后执行其余的代码。 这是我的代码:
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run("C:\Users\HP8200\Desktop\SolitRepoeTEM\SolitRepoeTEM\bin\Debug\WindowsFormsApp12.exe")
WshShell.SendKeys "{d}"
WshShell.SendKeys "{o}"
WshShell.SendKeys "{c}"
WshShell.SendKeys "{u}"
WshShell.SendKeys "{m}"
WshShell.SendKeys "{e}"
WshShell.SendKeys "{n}"
WshShell.SendKeys "{t}"
WshShell.SendKeys "{o}"
WshShell.SendKeys "{-}"
WshShell.SendKeys "{e}"
WshShell.SendKeys "{n}"
WshShell.SendKeys "{t}"
WshShell.SendKeys "{enter}"
WshShell.SendKeys "{enter}"
WshShell.SendKeys "{r}"
WshShell.SendKeys "{e}"
WshShell.SendKeys "{p}"
WshShell.SendKeys "{o}"
WshShell.SendKeys "{e}"
WshShell.SendKeys "{t}"
WshShell.SendKeys "{e}"
WshShell.SendKeys "{m}"
WshShell.SendKeys "{enter}
答案 0 :(得分:1)
如有疑问,请阅读documentation。
运行方法(Windows脚本宿主)
在新流程中运行程序。
<强>语法强>
object.Run(strCommand, [intWindowStyle], [bWaitOnReturn])
<强>参数强>
[...]
bWaitOnReturn
可选的。布尔值,指示脚本是否应该等待程序完成执行,然后再继续执行脚本中的下一个语句。如果设置为 true ,脚本执行将暂停,直到程序完成,Run
将返回程序返回的任何错误代码。如果设置为 false (默认值),Run
方法会在启动程序后立即返回,自动返回0(不会被解释为错误代码)。
如果由于可执行文件立即返回而无效,请尝试通过start
命令从CMD运行应用程序。
WshShell.Run "cmd /c start """" /wait /b ""C:\User...App12.exe""", 0, True
如果仍然无法正常工作,则需要检查应用程序的进程列表。在循环中对Win32_Process
类进行WMI查询,直到该过程不再显示为止。