关于dll与exe的困窘 本帖最后由 wangningyu 于 2010-06-08 10:39:32 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 WaitForSingleObject有好多种用法,可以只检测线程是否存在就可以立即返回的。可以用timer多次检测。也可以结束时主动向外面发消息或回调函数,通知外面结束了,外面再做处理。 线程中给主线程发送消息PostMessage()等,通知界面结束. // 线程中SendMessage()给主线程// // 线程中SendMessage()给主线程// // 线程中PostMessage()给主线程// 1、#define WM_MSG_UPLOAD WM_USER+1012、afx_msg LRESULT OnUploadMsg(WPARAM wParam,LPARAM lParam);3、 ON_MESSAGE(WM_MSG_UPLOAD,OnUploadMsg)4、最后实现OnUploadMsg函数.在dll中这样写:void MainMsg(){ // ::SendMessage((HWND)AfxGetMainWnd(),WM_MSG_UPLOAD,0,0); AfxGetMainWnd()->PostMessage(WM_CLOSE, 0, 0);}但是发现AfxGetMainWnd()始终为空,请高手不惜赐教! 不要这样用,还是弄一个导出函数吧,让外面应用程序设置一下,比如:void SetNotifyWnd(CWnd *pWnd){ g_pWnd = pWnd;}然后使用这个g_pWnd就行了。 AfxGetMainWnd()->PostMessage(WM_CLOSE, 0, 0);在dll中这能使用不行吧...你得把你的主窗口的HWND传给你的DLL,然后DLL向这个HWND发送消息 我的CBitmapButton没有加载图片,哪出问题了,在线等 大家能不能给看看List为什么不对啊[源码] 父、子窗口销毁问题 请问如何应付VC笔试题 ADO中_RecordsetPtr 打开记录集的问题? 两个工程合并后在ResourceView中出现两个资源,怎么删掉不要的那个? 怎样做一个动态曲线 关于DirechShow捕获图像尺寸的问题? 哪里能找到COM开发例程,俺一点也不会。 VC++使用string和vector等头的问题 vc使用Sql中变量的问题 ●●如何用媒体播放器控件播放资源视图里面的东西?
//
//
// 线程中PostMessage()给主线程
//
void MainMsg()
{
// ::SendMessage((HWND)AfxGetMainWnd(),WM_MSG_UPLOAD,0,0);
AfxGetMainWnd()->PostMessage(WM_CLOSE, 0, 0);
}但是发现AfxGetMainWnd()始终为空,请高手不惜赐教!
void SetNotifyWnd(CWnd *pWnd)
{
g_pWnd = pWnd;
}
然后使用这个g_pWnd就行了。
在dll中这能使用不行吧...你得把你的主窗口的HWND传给你的DLL,然后DLL向这个HWND发送消息