2010-02-07 56 views
0

Adob​​e Flash有一些有趣的,有時令人沮喪的安全規則阻止了很多事情的發生,比如將文件寫入磁盤。這些人如何使Flash訪問剪貼板和文件IO?

Swf StudioFlash Jester允許Flash「爆發」防止文件IO操作的安全沙箱。這些程序是如何編寫的?這是我可以在任何.NET語言中完成的事情嗎?有沒有我可以使用的API? (我寧可不支付這些人的錢,我買不起...)

這些傢伙使用未公開的API嗎?(如果是的話,我該如何瞭解上述API?)

回答

1

是的,我會說你可以在.Net中自己做,而且它不是很難掌握。我不確定Swf Studio和Flash Jester是如何做到這一點的,他們如何爲ActionScript提供API,但如果您之後要做的是構建一個支持文件IO等的Flash包裝器(在桌面環境中,而不是網頁瀏覽器),它可以使用ActionScript的ExternalInterface來完成。

幾年前,我自己做了一些類似的東西,用於構建在.Net/C#和Flash上​​的數字標牌應用程序。基本上,Flash Player ActiveX控件和容器應用程序使用基於XML-RPC的協議進行通信。下面是一些基本的例子:

http://blog.another-d-mention.ro/tag/external-interface/

+0

包裝是我最初想到的,但我沒有意識到這就是他們這樣做的方式。那麼他們如何擁有自定義的Actionscript類?另外,在.NET程序中嵌入ActiveX控件時,是否需要重新分配應用程序? – Moshe 2010-02-07 18:16:12

+0

我不知道他們如何集成他們的自定義ActionScript類。或者如果ActiveX需要重新分發,抱歉。在我工作的項目中,Flash Player作爲整體配置的一部分(它位於受控環境中,商店中的專用計算機)單獨安裝。如果最終用戶可能被要求安裝Flash Player(就像在網絡上一樣),我想這會起作用,但我不確定。 – 2010-02-07 18:41:52

+0

好的。謝謝。關於分發的事情 - 你有沒有做過或不需要重新分發的其他ActiveX控件? – Moshe 2010-02-07 19:23:16

0

自定義ActionScript類組成SWF工作室的ActionScript API都包含在我們加載之前您主SWF文件加載到播放器中的SWF。我們的API SWF實際上負責加載並使我們的AS類可用於您的SWF。您可以根據我們的SWC或AS類定義進行編譯,但是API SWF是在運行時解析那些引用的位置。我們的API使用ExternalInterface和FSCommand來完成其工作。