HINSTANCE=LoadResourse(ID);
HINSRANCE 就代表资源所在内存。
你调试一下看看的内容就知道了。

解决方案 »

  1.   

    HINSTANCE=LoadResourse(ID);
    HINSRANCE 就代表资源所在内存。
    你调试一下看看HINSTANCE的内容就知道了。
      

  2.   

    HRSRC hr;
    HGLOBAL hg;
    LPVOID pr;
    unsigned char MyTbl[1000];//存放二进制文件的内存

    hr = FindResource(hMod, MAKEINTRESOURCE(IDR_YOURSRC),"TYPE_YOURSRC");  //IDR_YOURSRC资源ID,TYPE_YOURSRC资源类型
    if (hr == NULL) return FALSE;
    hg = LoadResource(hMod, hr);
    pr = LockResource(hg);
    if (pr) {
      memcpy(&MyTbl, pr, CTBLSZ);
      UnlockResource(pr);
     } else return FALSE;
      

  3.   

    HRSRC hr;
    HGLOBAL hg;
    LPVOID pr;
    unsigned char MyTbl[1000];//存放二进制文件的内存hr = FindResource(hMod, MAKEINTRESOURCE(IDR_YOURSRC),"TYPE_YOURSRC");  //IDR_YOURSRC资源ID,TYPE_YOURSRC资源类型
    if (hr == NULL) return FALSE;
    hg = LoadResource(hMod, hr);
    pr = LockResource(hg);
    if (pr) {
      memcpy(&MyTbl, pr, 1000);
      UnlockResource(pr);
    } else return FALSE;
      

  4.   

    首先FindResource来获得HRSRC再用LoadResource()获得HGLOBAL LockResource就可以使用了
    HRSRC hrsrc = FindResource(hModule,(LPCTSTR)ID_YOURRESOURCE,"RESTYPENAME");//RESTYPENAME得你手工指定,如果你有不同语言就得FindResourceEx,
    HGLOBAL hGlobal = LoadResource(hModule,hrsrc);
    LPVOID lpResBuf = LockResource(hGlobal);
    //可以使用你自已的资源了
    //UnlockResource , FreeResource这两个东西没有必要在32位的程序下调用只是为了与16位兼容
      

  5.   

    adrianx的方法确实可用,我还是有点不明白:
      1、LockResource(hGlobal)有什么用,不用行不行,其返回的LPVOID能不能保存使用。
         如:class CMyDoc : public CDocument
             {
               LPVOID myvoid;
               ....
             }
      2、LPVOID 用完了如何释放?不释放的话会不会造成资源的漏洞?
      

  6.   

    这样吧,为表示我的诚意先给分adrianx吧。
      

  7.   

    你上面所用的hMod是资源句柄吗?HMODULE hMod=AfxGetResourceHandle();是对的吗?
    搞不懂,为什么VC对同一种定义(句柄)却要用那么多的称呼 HINSTANCE,HMODULE......