2

作为标题,我可以使用什么命令/类?如果该函数存在,是否函数从命令行获取回调?

4

1 回答 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 回答