【发布时间】:2017-06-06 02:54:25
【问题描述】:
我正在使用 Flash CC 构建一个 AIR 应用程序,以便我可以使用本机进程。在我将它集成到我的完整项目之前,我创建了一个小型测试项目来看看它是否可以工作。我在 Windows 中尝试过,但没有成功。不过,我切换到 Mac 并让它在那里工作。
本机进程由按键触发。该文件作为 Windows 安装程序发布,而不是 Air 包。我已确保在 xml 文件中包含扩展桌面。我已经仔细检查了文件路径。还有其他原因这不起作用吗?
package {
import flash.display.MovieClip;
import flash.filesystem.File;
import flash.events.KeyboardEvent;
import flash.desktop.NativeProcess;
import flash.desktop.NativeProcessStartupInfo;
public class Main extends MovieClip {
var exe:File = new File("C:\Windows\System32\notepad.exe");
var nativeProcess:NativeProcess = new NativeProcess();
var nativeProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo();
var args:Vector.<String> = new Vector.<String>();
public function startProcess(event:KeyboardEvent):void
{
if (event.keyCode == 65) {
nativeProcessStartupInfo.executable = exe;
args.push("C:/Users/Tristan/Documents/TVCR/airTestFile.rtf");
nativeProcessStartupInfo.arguments = args;
nativeProcess.start(nativeProcessStartupInfo);
}
}
}
}
【问题讨论】:
-
它是否在“测试电影”模式下工作?该脚本看起来不错,所以我建议进行一些调试。制作一个文本字段以输出日志信息,例如按键是否触发事件,以及 try ... catch NativeProcess.start 以获取异常.
-
本机进程在“测试电影”模式下不起作用。它们仅在发布 Windows 安装程序时才有效。我不确定如何为日志信息创建一个文本字段。你能给我指个教程吗?
-
对不起,我不明白...你不知道如何在Library中创建一个MovieClip,如何设计一个TextField 在其中,如何将它们添加到主时间线?
-
抱歉不清楚。我不知道如何获取文本字段以输出日志信息。
-
作为答案发布。