作为标题,我可以使用什么命令/类?如果该函数存在,是否函数从命令行获取回调?
问问题
1759 次
1 回答
2
您可以按照本文运行并与 AIR 中的其他进程通信。
因此,如果您想运行 Windows 命令提示符,则必须提供 cmd.exe 的位置,即“%windir%\system32\cmd.exe”。不幸的是,AIR 不会理解 %windir%,因此您必须实际提供 Windows 目录的完整路径(通常是 C:,但您必须弄清楚如何处理不是 C: 的情况)。
恼人的是,命令提示符似乎不像正常的输入流。我在尝试写入时收到错误。可能有一些我不知道的方法。但是,您可以使用您的参数启动命令提示符。
例如,以下代码将启动命令提示符(假设 Windows 在 C 上),打印“hello”并跟踪输出(在这种情况下将只是“hello”)。
var nativeProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo();
var file:File = File.applicationDirectory.resolvePath("C:\\Windows\\System32\\cmd.exe");
nativeProcessStartupInfo.executable = file;
var processArgs:Vector.<String> = new Vector.<String>();
processArgs.push("/C echo 'hello'");
nativeProcessStartupInfo.arguments = processArgs;
process = new NativeProcess();
process.addEventListener(ProgressEvent.STANDARD_OUTPUT_DATA, onOutputData);
process.start(nativeProcessStartupInfo);
public function onOutputData(event:ProgressEvent):void
{
trace("Got: ", NativeProcess(event.target).standardOutput.readUTFBytes(process.standardOutput.bytesAvailable));
}
于 2013-01-03T05:05:21.920 回答