我的DLL 有个函数VOID SHOWDLG()
{
createdlg();
}这个createdlg();有个参数就是HWND 是父窗口的HWND 但我如何把应用程序的HWND传递给它 那个m_pMainWnd 是一个类 不能做参数同时我还有一个问题 就是这个DLG创建了 我想让它一模态对话框显示 该怎么写谢谢
{
createdlg();
}这个createdlg();有个参数就是HWND 是父窗口的HWND 但我如何把应用程序的HWND传递给它 那个m_pMainWnd 是一个类 不能做参数同时我还有一个问题 就是这个DLG创建了 我想让它一模态对话框显示 该怎么写谢谢
解决方案 »
- 如何检查同名进程的运行
- 哥哥们 跪求帮帮可怜的人吧 请指教
- 如何使多个Listbox使用一个滚动条
- 如何用 TextOut 或者 DrawText 输出垂直90 的文字?用 '@宋体'字体可以不?
- 十万紧急!如何获取指定磁盘目录的首簇号!!FAT32 格式的硬盘!
- 写文件的问题
- 即返回结果集又带返回参数的存储过程用 ADO 不行吗?
- 谁能给我一份 informix connect for NT4.0? 100分相赠!
- 用什么方法判断输入的是"字符"还是"汉字"?急
- MFC如何得到系统所安装的ODBC驱动程序
- [求助] 还有人用BCG2.01吗?求解一个bug,不想用它的高版本
- 如何在DLL导出类
void SHOWDLG(HWND hDlg)
{
createdlg(hDlg);
}
m_pMainWnd->GetSafeHwnd()就可以获得这个CWnd窗口指针所对应的句柄。
hwnd hdlg
DLL就是void SHOWDLG(HWND hDlg)
{
hdlg = createdlg(,,hDlg,);
showWindow(hinst,sw_SHOW)
}
EXE 是 typedef void (_stdcall *dllshow)(HWND hMain)
...
HINSTANCE hinst;
hisnt = loadlibrary("dll");
dllshow dlldlg;
dlldlg = (dllshow)GetProaddress(hisnt,"SHOWDLG");
dllDlg(AfxGetApp->m_pMainWnd->GetSafeHwnd())对话框出来了但出现了一个错误 请问是怎么呢
THE value of esp was not property saved across the function CALL .....
void _stdcall SHOWDLG(HWND hDlg)
{
hdlg = createdlg(,,hDlg,);
showWindow(hinst,sw_SHOW)
}
如果还是有问题的话,就是createdlg内部的问题了
hwndDLG = CreateDialog(hinst,MAKEINTRESOURCE(IDD_DIALOG1), hMain,(DLGPROC)DlgProc); ShowWindow(hwndDLG, SW_SHOW); }
exe中的调用函数typedef void (_stdcall * DllShow)(HWND hMain);
void CUseDlg::OnOK()
{
DllShow Dlg;
HINSTANCE hinstDll;
HINSTANCE hi;
hinstDll = LoadLibrary("E:\\新建文件夹\\vc\\dll2\\Debug\\dll2.dll");
Dlg =
(DllShow) GetProcAddress(hinstDll,
"ShowDlg");
Dlg(AfxGetApp()->m_pMainWnd->GetSafeHwnd());}
但还是有问题 即使我把DLL的函数里面的内容都删除 都还是有问题
hwndDLG = CreateDialog(hinst,MAKEINTRESOURCE(IDD_DIALOG1), hMain,(DLGPROC)DlgProc); ShowWindow(hwndDLG, SW_SHOW); }
加入一个DEF 用EXPORTS导出 但为什么我还不知道