说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

如何在DLL里面使用资源

编辑:说三道四文库 发布时间:2018-06-22 11:01
HTML文档下载 WORD文档下载 PDF文档下载
我用的是VC的向导 (不是MFC的)生成DLL 我想使用对话框 但不知道怎么加资源 

我的步骤是:

新建一个RESOURCE 然后加到RESOURCE的文件加  然后插入一个资源 (DIALOG) 再CLASSWIZAED 这样就出现一个类 但这个类需要RESOURCE。H 我找不到

我想问问正确的方法
新建一个resource.h就行
自己定义一个就行了,然后把文件加进去。从别的地方复制一个也行,把资源ID换一下。
在 DLL 中使用资源,要注意确保资源句柄指向 DLL。使用下面两个函数即可。

void get_DLL_resource()                          // 在调用资源前使用
{
    if (resource_counter == 0)
    {
        save_hInstance = AfxGetResourceHandle(); // save_hInstance 你自己定义
        AfxSetResourceHandle(***DLL.hMoudle);    // ***DLL 是 MFC DLL 定义的
    }

    ++resource_counter;
}

void reset_DLL_resource()        // 在第一时间调用,如对话框的初始化函数
{
    if (resource_counter > 0)
        --resource_counter;

    if (resource_counter == 0)
        AfxSetResourceHandle(save_hInstance);
}
HINSTANCE save_hInstance;

static AFX_EXTENSION_NOUDLE ***DLL;
extern "C" int APIENTRY DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID)
{
    if (dwReason == DLL_PROCESS_ATTACH)
    {
        if (!AfxInitExtensionMoudle(***DLL, hInstance))
            return FALSE;
    }

    return TRUE;
}
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘