- - PR -
リソース名の取得について
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-08-22 18:28
お世話になります。
リソース名の取得について質問があります。 以下のように指定したファイルのリソース名を取得したいのですが、 Dim myAsm As System.Reflection.Assembly = System.Reflection.Assembly.LoadFile(Fname) Dim asnames As String() asnames = myAsm.GetManifestResourceNames() 画像ファイルやアイコンが含まれているexeを対象にしても asnames()には〜.bmpや〜.icoではなく、〜.resourcesという名称しか入ってきません。 正しく画像ファイルなどのリソース名を取得するにはどうすればよいのでしょうか? ソースは下記サイトを参考にしました。 http://dobon.net/vb/dotnet/programing/bitmapresource.html 宜しくお願いします。 | ||||
|
投稿日時: 2007-08-23 16:51
画像ファイルのビルドアクションを "埋め込まれたリソース" に設定していますか?
もしかして、画像ファイルをリソースファイル(拡張子:resx)の項目の一つとして指定していませんか? その場合、GetManifestResourceNamesメソッドでは取得できません。 _________________ C#と諸々 | ||||
|
投稿日時: 2007-08-24 09:45
よこけんさん。ご回答ありがとうございます。
リソースファイルが埋め込まれたリソースなので中の画像ファイルも 埋め込まれたリソースなのだと勘違いしていました。 別途プロジェクトに画像ファイルを追加し、埋め込まれたリソースとすることで 解決しました。ありがとうございます。 作業をしていてフォームの.resxファイル等が外部から参照できてしまうことに 気づきました。 逆に外部のプログラムからフォームのリソースファイル等を見えないようにするには どうすればよいのでしょう? フォームの.resxファイル等は全てビルドオプションが埋め込まれたリソースと なっていますが、これをコンパイルとするとエラーがでてしまいます。 よろしくお願いします。 | ||||
|
投稿日時: 2007-08-24 14:02
リソースに限らず、ソースコードも全て外部から見えます。
.NET Framework 付属ツールの「MSIL 逆アセンブラ」や、フリーソフトである「Reflector」を使えば簡単に確認できます。 ソースコードは、Visual Studio 付属ツール「Dotfuscator」等を使って、逆コンパイルによる解析を難読化させることができるらしいです。(私は使ったことないです。) Dotfuscatorでリソースまで難読化することができるのかどうかは、知らないです。(暗号化とかしないといけないだろうし、できなさそうな気もします。) リソースを見られるわけにはいかない理由が特にないのでしたら、気にしなくていいと思いますよ。 どうしても、リソースを見られるわけにはいかない場合は、、、有識者の登場を待ちましょう^^; _________________ C#と諸々 | ||||
|
投稿日時: 2007-08-25 18:12
よこけんさん。ご回答ありがとうございます。
他のプログラムのリソースをみてもフォーム等の.resxファイルは参照できなかったので 質問させていただきましたが、通常みれてしまうようですし、 リソースを見られても困ることは特にないので、気にしないことにします。 ありがとうございました。 |
1