2009-07-02 11 views
6

組み込みリソースを作成してC++からアクセスするにはどうすればよいですか?C++の組み込みリソース

どのようにリソースを読み込むかの例は素晴らしいでしょう。

私は、Visual Studioに事前に2005

感謝を使用しています。

編集:受信したxmlファイルのスキーマの検証中に必要なxsdファイルを1つ入れたいとします。

答えて

9

私は@Sharptoothをやっては前に説明し、あなたがresourceIdtypeを変更する必要があり、リソースここ

HRSRC hResInfo = FindResource(hInstance, MAKEINTRESOURCE(resourceId), type); 
HGLOBAL hRes = LoadResource(hInstance, hResInfo); 
LPVOID memRes = LockResource(hRes); 
DWORD sizeRes = SizeofResource(hInstance, hResInfo); 

を取得するには、次のコードを使用します。

たとえば、.pngファイルの場合は、FindResource(hInstance, MAKEINTRESOURCE(bitmapId), _T("PNG"));(「PNG」文字列はカスタムリソースを追加するときに使用したタイプです)を使用します。

+0

実行時にDLLのハンドルを取得するにはどうすればよいですか? – Gilad

+0

これらの質問が「DLLからHINSTANCEを取得するにはどうすればよいですか? http://stackoverflow.com/questions/2126657/how-can-i-get-hinstance-from-a-dll#2126689 – Ismael

3

リソース(.rc)ファイルをプロジェクトに追加し、そこにリソースの説明を追加します。プロジェクトをビルドするとき、リソースコンパイラはリソースファイルをコンパイルし、リンカはコンパイルされたリソースファイルを結果の実行可能モジュールにリンクします。

実行時に、FindResource()、次にLoadResource()WinAPI関数を呼び出します。