質問: File.applicationDirectory.resolvePath("MyNativeExe.exe"); np.addEventListener(ProgressEvent.STANDARD_OUTPUT_DATA, onData); np.start(npi); } private function onData(e:ProgressEvent):void { while(np.standardOutput.bytesAvailable != 0) { trace(String.fromCharCode(np.standardOutput.readByte())); } } ``` MyNativeExe.exeファイルをアプリケーションディレクトリに配置し、* -app.xml supportedProfilesの「extendedDesktop」の値を設定しても問題ありません。 今、MyNativeExe.exeを組み込み、MyNativeExe.exeとのやりとりを管理するAS3クラスを提供するAS3 SWCライブラリを作成したいと思います。したがって、SWCファイルをライブラリとして追加するだけで、このプロジェクトを他のAIRプロジェクトで簡単に再利用できます。新しいAIRプロジェクトに「extendedDesktop」値を手動で追加する必要があるかもしれませんが、問題はありません。 そして私は立ち往生している。 Flash Builderに埋め込むリソースを手動で選択することで、EXEファイルをSWCファイルに埋め込むことができます。 * SWCファイルの必要な部分のみがSWFとマージされるため、自動的に最終的なSWFファイルに埋め込まれることはありません * ([Embed]タグでマージを強制する場合でも...)、埋め込みEXEファイルにアクセスして実行するにはどうすればよいですか? NativeProcessInfo.executableには、バイトストリームではなくFileオブジェクトが必要です。 私が持っている唯一のアイデアは、[埋め込み]でEXEファイルを埋め込み、バイト配列としてロードし、データとしてバイト配列を持つ新しいファイルを作成し、ファイルを実行することです。私はそれが動作するかどうかはわかりませんが、それはEXEの種類の複製があることを意味するので、私はその考えが気に入らない。 誰かがアイデアを持っていますか? ありがとうございました!
回答: 航空ネイティブ拡張機能を参照する必要があります。簡単に言えば、Air 3.0の新機能の1つは、カスタム言語拡張機能をコンパイルして、大気から直接リンクする機能でした。私はC#を直接使用する例は見つけられませんでしたが、そのページのリンクを参照してください。