AS3 で ExternalInterface を使用すると、XP 内で OS (C#?) 関数を呼び出すことができますか?
例: デスクトップの背景を Flash アプリから提供された画像に設定しますか?
可能であれば、別の OS に適用すると別の呼び出しになります。Mac のクロスオーバーについてはどうでしょうか。
どんな情報でもいいです
ありがとう
AS3 で ExternalInterface を使用すると、XP 内で OS (C#?) 関数を呼び出すことができますか?
例: デスクトップの背景を Flash アプリから提供された画像に設定しますか?
可能であれば、別の OS に適用すると別の呼び出しになります。Mac のクロスオーバーについてはどうでしょうか。
どんな情報でもいいです
ありがとう
C#アプリ内からswfを起動する場合は、外部インターフェイスで問題なく動作します。フラッシュ側では何も変わりませんが、C#で機能させるには、いくつかのフープを実行する必要があります。AMFやJSへの外部インターフェースほど単純ではありません。
C#へのすべての通信は、データを記述するXMLに変換され、フラッシュに送り返すXMLを作成する必要があります。それ以外は、比較的単純です。
これを行う方法に関するいくつかの情報があります。AS部分はFlash8/ AS2ですが、C#部分も同じように言う必要があります。
WebページからまたはデスクトップアプリとしてFlashを操作する場合、小さなセキュリティサンドボックスに制限され、関連するOS呼び出しを行うことはできません。AIRに切り替えると開発者の柔軟性が上がると思いましたが、どちらも正しくないようです。「AdobeAirの長所と短所」から:
AIRアプリには、ファイルアクセス、クリップボードアクセス、複数のウィンドウのサポート、ドラッグアンドドロップのサポートがあり、通知をトリガーできます(Windowsではトースト)。アプリが他の方法でデスクトップと対話する必要がある場合は、AIRが適切でない可能性があります。たとえば、COM自動化へのアクセスはなく、外部アプリケーションを実行する方法もありません。その理由は、クロスプラットフォームの互換性を維持するためです。それは価値のある目標ですが、サンドボックスから抜け出す方法があるとよいでしょう。Javaや.NETとは異なり、カスタムネイティブコードライブラリを使用してAIRを拡張することはできません。また、オペレーティングシステムのAPIを呼び出すこともできません。
Alex Jillardがコメントしたように、swfがC#デスクトップアプリケーション内で呼び出された場合、方法はわかりませんが、より多くのOS機能にアクセスできるはずです。