MFC主程序加载DLL中对话框的问题 程序也没有报错,就是 StartPlay("D:\\2.WAV"); 这句一执行就过去了,没有显示过对话框 why? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这是因为在主程序的资源链中无法查找到这个对话框资源需要在创建对话框之前将当前资源的handle切换到对话框的资源我这里写了一个自动切换的简单类,你直接用就可以了{ AFX_MANAGE_STATE(AfxGetStaticModuleState()); CResourceLock ResLock(g_hModule); // 增加这一句,其中g_hModule是动态库的hInstance,在DllMain中保存的全局变量 CwmaDlg dlg; dlg.DoModal(); return 0;}DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved){ // Remove this if you use lpReserved UNREFERENCED_PARAMETER(lpReserved); if (dwReason == DLL_PROCESS_ATTACH) { g_hModule = hInstance; }......// hclass CResourceLock{public: CResourceLock(HINSTANCE hInstance); virtual ~CResourceLock();private: HINSTANCE m_hInstance; };// cppCResourceLock::CResourceLock(HINSTANCE hInstance){ m_hInstance = AfxGetResourceHandle(); AfxSetResourceHandle(hInstance);}CResourceLock::~CResourceLock(){ AfxSetResourceHandle(m_hInstance);} 上面写错几个字,应该是需要在创建对话框之前将当前资源的handle切换到动态库的资源句柄这个问题,我以前碰到过 有没有人用过poco库开发服务器?交流下 gdi+通过一个graphicspath, 用图片填充 有锯齿 Vc程序显示auto cad图形? 关于模式对话框的问题和灵活的数据表格问题 做客户端的时候碰到的问题?高手们进来提供些解决建议,谢谢! 标准控件和常用控件 ????? 如何引入dll 中的函数? CString的问题 ado的版本 怎样知道资源文件的大小? 一个关于onclose的问题 谁有《Visual C++ 6.0数据库开发实例导航》人民邮电出版社 的书后光盘源代码
我这里写了一个自动切换的简单类,你直接用就可以了{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
CResourceLock ResLock(g_hModule); // 增加这一句,其中g_hModule是动态库的hInstance,在DllMain中保存的全局变量 CwmaDlg dlg;
dlg.DoModal();
return 0;
}
DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
{
// Remove this if you use lpReserved
UNREFERENCED_PARAMETER(lpReserved); if (dwReason == DLL_PROCESS_ATTACH)
{
g_hModule = hInstance;
}
......
// h
class CResourceLock
{
public:
CResourceLock(HINSTANCE hInstance);
virtual ~CResourceLock();private:
HINSTANCE m_hInstance;
};// cpp
CResourceLock::CResourceLock(HINSTANCE hInstance)
{
m_hInstance = AfxGetResourceHandle();
AfxSetResourceHandle(hInstance);
}CResourceLock::~CResourceLock()
{
AfxSetResourceHandle(m_hInstance);
}
需要在创建对话框之前将当前资源的handle切换到动态库的资源句柄这个问题,我以前碰到过