DLL 调用 对话框 以及 如何获取调用dll 应用程序(窗口程序)的窗口句柄
1.一般创建需要的窗口,转换成相应的窗口类; 声明一个导出函数,来处理窗口的显示,如:
CTest test;
extern
"C"
__declspec
(
dllexport
)
void
Show()
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
if
(!test.create)
{
test.Create(IDD_DIALOG1);
test.ShowWindow(SW_SHOWNOACTIVATE);
}
else
{
test.ShowWindow(SW_SHOWNOACTIVATE);
}
}
MFC封装的DLL如果使用了资源,请在函数开始加入:AFX_MANAGE_STATE(AfxGetStaticModuleState());
如果DLL使用的对话框上面又引用了其它COM组件,请在函数开始加入下面三句:
AFX_MANAGE_STATE(AfxGetStaticModuleState());
CoInitialize(NULL);
AfxEnableControlContainer();
AFX_MANAGE_STATE(AfxGetStaticModuleState());
CoInitialize(NULL);
AfxEnableControlContainer();
2。