【发布时间】:2010-10-12 13:03:23
【问题描述】:
我正在尝试在 Windows 7 中将命令行可执行程序作为后台进程启动,但它不起作用。我的 AIR 应用程序是本机安装程序应用程序:myAIRApp.exe。
我已将 myApp.exe 与我的 AIR 应用程序捆绑在一起,因此当它首次启动时,应用程序会将 myApp.exe 复制到 applicationStorageDirectory (C:\Users\Administrator\AppData\Roaming\myAIRApp\ )。复制成功,但它拒绝自行启动。副本在尝试启动之前已完成。 i 没有在任务管理器中显示为正在运行的进程,随后,依赖 myApp.exe 在后台运行的我的 AIR 应用程序失败。
如果我在 applicationStorageDirectory 中手动双击复制的 myApp.exe,它将在 Windows 命令处理器中打开,所以文件没问题。该代码在我的 Mac 版本上也可以正常工作,但不是启动 .exe,而是将 Mac 版本作为后台进程启动,手动启动时会在终端中打开。
该进程不接受任何参数,并且我的 AIR 应用程序不需要直接与启动的 .exe 后台进程通信。它只需要运行即可。
AIR 应用程序是在 Mac OS X 中编写的,我正在使用 Parallels Desktop 使用 ADT 编译 Windows 本机安装程序并测试该应用程序。
var myApp:File = File.applicationStorageDirectory.resolvePath("myApp.exe");
var myAppProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo();
myAppProcessStartupInfo.executable = myApp;
myAppProcess = new NativeProcess();
myAppProcess.start(myAppProcessStartupInfo);
任何想法为什么这可能不起作用?
【问题讨论】:
标签: windows process air native