2012-03-21 7 views
1

私は、COMオブジェクトからSWFObjectにSWFファイルを埋め込んだアプリケーションをc#.netに持っています。ファイルを誰でも開くことを制限します。

インストール後、元のSWFファイルもアプリケーションのルートディレクトリにあります。その場所(アプリケーションのルートディレクトリ)から誰でもそのファイルにアクセスできます。しかし、私はそのファイルを開くことを制限したい。

axShockwaveFlash1.Movie = Directory.GetCurrentDirectory() + "\\XYZ.swf"; 

私はこのようなことをしました。

どうすれば私のアプリケーションからアクセスできるようなアプリケーションのルートディレクトリにそのファイルを制限できますか?

答えて

1

ファイルをdllファイルまたはexeファイルに埋め込み、そこから再生することができます。この方法では、ファイルシステム内に(別個のファイルとして)全くありません。

詳細はHow to embed and access resources by using Visual C#を参照してください。

+0

はい。私は知っていますが、どうすればいいのかわかりません。私はあなたのリンクを見ていますが、あまり考えていません。 –

1

静的バイトとしてswfファイルのバイナリデータをコードに保存し、それらを静的にロードしてswfファイルに戻すことができます。変換は少し時間がかかるかもしれませんが、プログラムを開くと1回だけ発生します。

編集: しかし、k3bのanswerが優れています。

1

アクセス許可はアプリケーションではなくユーザーに基づいているため、短い答えはできません。ただし、独自のアプリケーション固有の認証を簡単に構築できます。あなたのSWFはフレーム1を越えて移動するために特定のFlashVarsを設定する必要があります。人々はあなたのSWFを逆コンパイルすることができますが、これでほとんどの人が停止します。もう1つの選択肢は、何らかの形でバイナリ内にデータを格納し、バイト配列を使用してSWFをロードしようとすることです。その場合、see this postを1回試行します。

関連する問題