由於您使用的是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