MFCを使わずにリソースファイルをロードするには?


???  2008-07-15 14:45:58  No: 68707  IP: 192.*.*.*

実行環境:WinXP、VS2005
MFCのCStringのLoadStringを使わずに、リソースファイルから文字列を取得したいです。(MFCは使用しないことがポリシーです。)
SDKのLoadStringを使えば良いことは分かったのですが、
第一引数のリソースのハンドルはどのように取得すれば良いのでしょうか?

編集 削除
Blue  2008-07-15 14:51:50  No: 68708  IP: 192.*.*.*

(HINSTANCE)GetWindowLong(hWnd, GWL_HINSTANCE);

とか

WM_CRETEイベントで、

((LPCREATESTRUCT)lParam)->hInstance;

の値をstatic変数か何かでとっておくとか。


参考
http://wisdom.sakura.ne.jp/system/winapi/win32/win55.html

編集 削除
かもねぎ  2008-07-15 15:33:42  No: 68709  IP: 192.*.*.*

hInstance の取得方法
  No 1
    HINSTANCE hInst ;
    hInst = GetModuleHandle ( NULL ) ;

  No 2
    #include    <windowsx.h>

    HINSTANCE hInst ;
    hInst = GetWindowInstance ( hWnd ) ;

  No 3
    HINSTANCE hInst ;
    hInst = ( HINSTANCE ) LongToPtr ( GetWindowLongPtr ( hwnd, GWLP_HINSTANCE ) ) ;

  No 4
    HINSTANCE hInst ;
    hInst = ( HINSTANCE ) LongToPtr ( GetWindowLong ( hwnd, GWL_HINSTANCE ) ) ;

  No 5
    #include    <windows.h>

    HINSTANCE   hInst ;

    INT WINAPI WinMain ( HINSTANCE hInstance, HINSTANCE hPrevInstance,
                    LPSTR lpCmdLine, INT nCmdShow )
    {
        hInst = hInstance ;
        return 0 ;
    }

  No 6
    LRESULT On_Create ( HWND hwnd, LPCREATESTRUCT lParam )
    {
        HINSTANCE hInst ;
        hInst = lParam->hInstance ;
        return 0L ;
    }

  No 7
    LRESULT On_Create ( HWND hwnd, LPARAM lParam )
    {
        HINSTANCE hInst ;
        hInst = ( ( LPCREATESTRUCT ) lParam )->hInstance ;
        return 0L ;
    }

編集 削除