トップページ > 過去ログ > 記事閲覧
rcファイルについて
名前:CELL 日時: 2009/06/10 22:44

こんばんは VS2008とDXライブラリで開発を進めているのですがリソースファイルのことがどうにも分かりません。 一応ResEditを使っているのですが…… 考えとしてはBMPなどゲームで使用していて他では使用できないようにするのがrcと…合っていますでしょうか… 本題に入りますとrcまでは作れたのですがVS2008に登録?したりしてどのように使うのかが全く分かりません…マイク☆ソフトのことですのであまりヘルプも参考になりませんし…… どうかこの意味不明な文を理解し回答をいただけたらと思います。

Page: 1 |

Re: rcファイルについて ( No.1 )
名前:管理人 日時:2009/06/14 03:20

マイクロソフトがリソースを何の為に用意したのか、という明確な答えは見つけることが できませんでしたが、多分リソースはソフトの使用者からファイルを隠蔽するのが目的では無いと思います。 ( exeファイル や dllファイルからリソースを抽出するソフトも存在しますし ) 個人的にはソフトで使用されているアイコンやビットマップをただ実行ファイル内に収めるための機能で 暗号化機能もないことを踏まえると、ユーザーから隠蔽するという意図は無いのではないかと思います。 なので、ファイル解析に関する知識が何もない人に対しては隠蔽の効果はあると思いますが、 少しでも知識のある人に対しては隠蔽の効果は殆ど期待できないと思います。 ただ、「ファイル解析をする必要がある」という手間が抑止力となる可能性もありますので、 リソースファイルにしない場合よりは「ファイルを見られるかどうか」という面においては かなり「見られない」効果はあるかもしません。 ともあれ、リソースファイルは Visual C++ 2008 では上部のメニューから 「プロジェクト」→「既存項目の追加」 でリソースファイル( 拡張子が rc のファイル )を選択することで実行ファイルに組み込むことが出来ます。 リソースファイルに組み込まれたファイルは通常のファイルと同様に扱うことは出来ませんので、 DXライブラリでもリソースファイル内のファイルを使う場合は通常のファイルを扱う関数とは 別の関数を使用する必要があります。 LoadGraph の代わりに ビットマップリソースとして追加した場合は↓ int LoadGraphToResource( int ResourceID ) ; ビットマップリソース以外のタイプとして画像を追加した場合は↓ int LoadGraphToResource( char *ResourceName /*リソースID*/, char *ResourceType/*リソースタイプ名*/ ) ; LoadSoundMem の代わりに↓ int LoadSoundMemByResource( char *ResourceName /*リソースID*/, char *ResourceType/*リソースタイプ名*/ ) ; 使用例 GraphHandle = LoadGraphToResource( IDB_BITMAP1 ); // IDが数値の場合は MAKEINTRESOURCE マクロを使用します GraphHandle = LoadGraphToResource( MAKEINTRESOURCE( IDB_PNGIMAGE1 ), "PNG" ); // wavファイルは RT_BITMAP のようにマイクロソフト標準のリソースタイプがないので、自分で "WAVE" 等のタイプ名を作ります SoundHandle = LoadGraphToResource( "Bgm1", "WAVE" ); 宜しければお試し下さい。m(_ _)m
Re: rcファイルについて ( No.2 )
名前:CELL 日時:2009/06/26 19:27

返事が遅れて大変申し訳ありません。 親切にどうもありがとうございました。 rcの読み込み方も教えていただいちゃって本当にありがとうです。

Page: 1 |