由于您使用的是jscript,因此有一个sleep()方法。认为......这是你可以使用的最糟糕的,因为JavaScript被设计为异步。
,你可以做这样的:
var ieinfostate = false;
var iewait = setInterval(function() {
if (ProcessesRunning("iexplore.exe") != 1) {
clearInterval(iewait);
dosomethingelse();
} else if (ieinfostate == false) {
ieinfostate = true;
server.logMessage("Please close Internet Explorer first. This installer will wait till its closed.");
}
}, 500);
var dosomethingelse = function() {
var shell = new ActiveXObject("WScript.Shell");
server.logMessage("Unpacking file");
/* your unpack stuff here */
};
黯然计时器等待Windows中的进程关闭的唯一途径。
微软很难在jscript中实现有用的API的过程状态改变事件等。
,如果你想拥有它的清洁,你应该考虑使用C,C++或C#
非常感谢帮助。你能再看看代码吗? – user1823753
@ user1823753:你在那里试着做什么?您刚刚将我的部分代码复制到您的问题中。这是你的js文件包含的所有代码吗?除非你向我们展示完整的代码,否则我们无法弄清楚你的问题在哪里。 – GottZ