use*_*555 5 executable firefox-addon launching-application
如何执行Windows命令并使用firefox插件显示它的输出?
例如:ping www.stackoverfow.com
我只是试图通过执行打包在一起的二进制文件(或)可执行文件或运行Windows命令来探索firefox插件开发中的更多内容.
Wla*_*ant 13
你可以使用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);
Run Code Online (Sandbox Code Playgroud)
供参考:COMSPEC环境变量,nsIEnvironment.
请注意,您无法从流程中接收数据,只能在完成后收到通知并了解其是否失败.如果要获取命令的输出,则必须将输出重定向到文件(ping stackoverflow.org > c:\\temp\\foo.txt通过shell 运行命令),然后读出该文件.
| 归档时间: |
|
| 查看次数: |
6189 次 |
| 最近记录: |