2011-11-11 11 views
0

フラッシュモジュールで生成されたデータを、Windowsの外部実行可能ファイルに送信します。プロセス間通信について学んだことから、この場合はパイプを使用するのが適切だと思います。私はFlash Professional CS5を使用しており、actionscriptで 'trace'コマンドを使用すると、出力はフラッシュプロフェッショナルの出力ウィンドウに表示されます。私はFlashがデータを出力ウィンドウにパイプしていると思います。もしそうなら、そのパイプのハンドルを取得することは可能です。トレースコマンドが実行されたときにフラッシュプレーヤー自体の出力を書き込む方法や、イベントでパイプのバッファに直接データを書き込む方法はありますか?フラッシュプレーヤーからパイプを介して外部の実行ファイルにデータを送信する方法

私を助けてください。 ありがとうございます。

答えて

1

Flashバッジ、AIRアプリケーションを使用していくつかのトリックを行いました。 C#console app .. 私たちはAIRアプリケーションにparamsを送ることができます。 BADGEから受け取ってください:

protected function onInit(event:FlexEvent):void{ 
    NativeApplication.nativeApplication.addEventListener(BrowserInvokeEvent.BROWSER_INVOKE, onBrowserInvoke);} 
protected function onBrowserInvoke(e:BrowserInvokeEvent):void{ 
    //reading args 
    var a:String = e.arguments[0]; 
    //Now we can run *.exe from windows using: 
    if(NativeProcess.isSupported) 
    { 
     var nativeProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo(); 
     nativeProcessStartupInfo.executable = File.applicationDirectory.resolvePath("ExecutableApp.exe"); 
     nativeProcessStartupInfo.arguments.push(a); 
     var process:NativeProcess = new NativeProcess(); 
     //dispatched when the process will be finished 
     process.addEventListener(NativeProcessExitEvent.EXIT,onProcessDone); 
     //run 
     process.start(nativeProcessStartupInfo); 
    } 
    else Alert.show("Native process are not supported\nPrinter settings may be wrong!"); 
} 

それは長い道のりですが、確かに動作します!少なくとも私のために働いた。

+0

情報とコードAlexのおかげで。私は実際にはActionscriptプログラミングの初心者であり、あなたからのコードの説明は本当に役に立ちます。フラッシュモジュールの出力コマンドは、ボタンをクリックすると生成されます。私の場合、BrowserInvokeEventを生成することはできませんので、私もスタンドアロンモジュールです。また、 "ExecutableApp.exe"を使用した場合、Flashによって開かれるアプリケーションの名前であることを意味しましたか? – user1041254

+0

.exeファイルをどこに配置すればよいのですか?これはAIRアプリケーションでのみ実行されます。また、FlexEventが生成されると、最初からコードが動作し始めます。これを私のニーズにどうやって変えることができますか?ありがとう – user1041254

+0

1)AIRバッジを作成する - [チュートリアル](http://www.adobe.com/devnet/air/articles/badge_for_air.html) Webページ上のシンプルなボタン、またはサーバ。 ボタンをクリックすると、AIRアプリケーションが実行され、BrowserInvokeEventがAIRアプリケーション内にディスパッチされます。 その後、上記のコードを使用して.exeアプリケーションを自由に実行できます。 2)AIRアプリケーションを作成します。 - [チュートリアル](http://help.adobe.com/jp/air/html/dev/WSb2ba3b1aad8a27b060d22f991220f00ad8a-8000.html) Flash - > AIR - > EXE(* .exeは任意の場所に配置できます) – Alex

関連する問題