-
-
[求助]从DLL中导出非模态对话框的问题
-
发表于:
2008-6-24 13:12
7773
-
怎样从一个DLL中导出非模态对话框?
我主要是把此DLL远程注射到别的进程然后显示对话框
下面是我的代码
void ShowDialog()
{
CallTestDll* pDlg = new CallTestDll;
pDlg->Create(IDD_DLG_KCTEST,0);
pDlg->ShowWindow(SW_NORMAL);
HWND hDlgModeless = pDlg->GetSafeHwnd();
pDlg->ShowWindow(SW_SHOW);
MSG msg;
while(GetMessage(&msg,NULL,0,0))
{
if (hDlgModeless==0||!IsDialogMessage(hDlgModeless,&msg))
{
if (msg.hwnd==hDlgModeless)
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
}
}
如果没有消息循环,对话框一闪而过(不是资源问题)
如果加了消息循环后,对话框可以出现,但是进程的主窗口有点死,而且结束了对话框后主窗口还是那个样,好像线程有死锁。
帮助一下小弟,谢谢!
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)