マイクロソフトがリソースを何の為に用意したのか、という明確な答えは見つけることが
できませんでしたが、多分リソースはソフトの使用者からファイルを隠蔽するのが目的では無いと思います。
( 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