如何使用 Firefox 插件执行 Windows 命令并显示其输出?
例如:
ping www.stackoverfow.com
我只是想通过执行打包在一起的二进制文件(或)可执行文件或运行 Windows 命令来探索更多 Firefox 插件开发的内容。
你会使用nsI进程为了那个原因。在您的情况下,事情变得更加复杂,因为您不知道要运行哪个应用程序 - 通常是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环境变量, 国家安全环境公司.
请注意,您无法从该流程接收返回的数据,您只能在流程完成时收到通知并了解流程是否失败。如果您想获取命令的输出,您必须将输出重定向到文件(运行ping stackoverflow.org > c:\\temp\\foo.txt
通过 shell 命令)并随后读出该文件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)