dll文件的创建我用到的窗口有模态和非模态的
其中模态窗口的建立 DialogBox(g_hInstance, MAKEINTRESOURCE(IDD_DLG_ERROR), hParent, (DLGPROC)DlgProc);
回调函数Dlgproc中都是消息响应函数,调用的时候需要在工程中配置dll文件的路径,将编译好的lib和dll文件放到路径中,设备中运行只需要放置dll文件就好
非模态对话框
HWND hdlg;
hdlg = CreateDialog(g_hInstance,MAKEINTRESOURCE(IDD_DLG_ERROR),NULL,(DLGPROC)DlgProc);
//显示对话框
ShowWindow(hdlg,SW_SHOW);
//更新对话框
UpdateWindow(hdlg);
MSG msg;
while(GetMessage(&msg,NULL,0,0))//接受所有的消息
{
TranslateMessage(&msg);//解析消息
DispatchMessage(&msg); //派发消息
}
一样回调函数是消息响应,而在dll中定义函数给上层使用的时候,不能在同一个函数中连续调用两个,可以在初始化中定义定时器,判断窗口句柄是否存在,存在则销毁窗口,而上层如果调用dll的显示函数,sleep(3000)后执行销毁函数就进不到dll的销毁函数中,我不知道为什么,求高人指点