你在DLL的资源中加入对话框,在DLL中DoModal()不就可以了吗?

解决方案 »

  1.   

    _AFXWIN_INLINE HINSTANCE AFXAPI AfxGetResourceHandle() 它也只能得到NULL!!!怎么办?????
      

  2.   

    在你的导出函数中假如下面一句就可搞定:
    AFX_MANAGE_STATE(AfxGetStaticModuleState());// Set to be DLL state
    她的作用是把程序的资源状态改变到DLL的状态,这时候就可用DLL中的资源了!
      

  3.   

    加入AFX_MANAGE_STATE(AfxGetStaticModuleState());// 
    后,程序报错
    mfcs42d.lib(dllmodul.obj) : error LNK2005: _DllMain@12 already defined in HName.obj
    mfcs42d.lib(dllmodul.obj) : error LNK2005: __pRawDllMain already defined in HName.obj
    mfcs42d.lib(dllmodul.obj) : warning LNK4006: _DllMain@12 already defined in HName.obj; second definition ignored
    mfcs42d.lib(dllmodul.obj) : warning LNK4006: __pRawDllMain already defined in HName.obj; second definition ignored
      

  4.   

    应该是创建的子窗口没有得到父窗口句柄,我记得在Vchelp.net上有类似的源代码。
      

  5.   

    bangcloudy(123) , 它已得到了父窗口handle
      

  6.   

    我也碰到过这个问题,看了许多资料还是没解决,因为跟创建dll的项目类型有关,很难说清楚的
    后来还是重建了一个MFC DLL项目就解决了
      

  7.   

    重建????有意义吗? 跟类型有关?我的DLL是扩展mfc类型