5
如何執行一個Windows命令並使用Firefox插件顯示它的輸出?如何從firefox插件執行windows命令?
例如: 平www.stackoverfow.com
我只是想通過執行打包的二進制文件(或)可執行在一起,否則在運行Windows命令探索更多的Firefox插件開發。
如何執行一個Windows命令並使用Firefox插件顯示它的輸出?如何從firefox插件執行windows命令?
例如: 平www.stackoverfow.com
我只是想通過執行打包的二進制文件(或)可執行在一起,否則在運行Windows命令探索更多的Firefox插件開發。
你會使用nsIProcess。在你的情況下,事情變得更加複雜,因爲你不知道你想要運行哪個應用程序 - 它通常是c:\windows\system32\ping.exe
,但是你不能確定。如果你不想自己解析PATH
環境變量可以使命令行shell爲你做它:
Components.utils.import("resource://gre/modules/FileUtils.jsm");
var env = Components.classes["@mozilla.org/process/environment;1"]
.getService(Components.interfaces.nsIEnvironment);
var shell = new FileUtils.File(env.get("COMSPEC"));
var args = ["/c", "ping stackoverflow.org"];
var process = Components.classes["@mozilla.org/process/util;1"]
.createInstance(Components.interfaces.nsIProcess);
process.init(shell);
process.runAsync(args, args.length);
參考:COMSPEC
environment variable,nsIEnvironment。
請注意,您無法從進程接收數據,只能在完成時收到通知,並瞭解是否失敗。如果你想獲得命令的輸出,你必須將輸出重定向到一個文件(通過shell運行ping stackoverflow.org > c:\\temp\\foo.txt
命令),然後讀出該文件。