在线程里面用了CCOOKDlg *DlgPtr=(CCOOKDlg*)pParam;
COM1.Create(NULL,0,CRect(0,0,0,0),DlgPtr,IDC_MSCOMM1);
在保留这个指针前提下,如何解决问题,让最小化最大化能正常工作?
ææ¯è¯´å建äºå¯¹è¯æ¡çæéï¼æ¯æç¨è¯ä¸å¯¹ï¼æ¯ä¼ éãé讯ç建ç«ææ¯æ¾å¨çº¿ç¨éé¢çï¼ä¸å ±ä¸¤ä¸ªçº¿ç¨é½è¦è¿è¡ä¸²å£é讯ãå¥æªçæ¯ï¼å¨æ¥æ¶æ°æ®æ¶ï¼å¦ææå¨åé¢AfxmessageBoxä¸ä¸å°±è½æ¥å°æ°æ®ï¼ä¸ç¶æ¥æ¶ä¸å°ãæ¯ä¸æ¯å¼¹çªä¸ä¸å°±æ¯å·æ°äºä¸æ¬¡ï¼å 为æä¹æ¯ç¨AfxmessageBoxæ¥æ¾ç¤ºæ¥æ¶å°çæ°æ®çãä½æ¯æ¥æ¶æ°æ®ånEvent = COM1.GetCommEvent();nEvent ä»ç¶æ¯2ï¼é½å·²ç»è¯»äºæ°æ®äºæä¹è¿ä¼è¯´ç¼å²åºææ°æ®ï¼2表示ææ°æ®ï¼ï¼
追çåºè¯¥ä¸æ¯å·æ°ï¼æ¯å»¶æ¶äºä¸ä¸å§ãæ¥æ¶åºè¯¥æ¯ä¸ä¸ªå¾ªç¯å§
追é®æ¯ä¸ä¸ªwhileï¼1ï¼æç¨äºsleepï¼ï¼ï¼ä½æ¯å¦æä¸ç¨AfxmessageBoxçè¯ï¼åé¢è¿æ¯æ¥æ¶ä¸å°æ°æ®ï¼åæ£æ¯æ²¡æè¿è¡å°æ¾ç¤ºæ°æ®çå°æ¹ãæ¥æ¶å°çæ°æ®æä¹æ¯ç¨AfxmessageBoxæ¾ç¤ºçãæ¯æä¹åäºåï¼
追çåµåµï¼è¿æ ·çä¸åºæ¥
mfc多线程中弹出对话框的问题
是因为你的两个线程没有同步造成的,原因分析如下:主线程(有main的线程)在执行了所有代码后return返回。由于主线程返回,在main函数外部的C运行时库会调用ExitProcess来使进程退出。因此如果主线程返回了,意味着所有其它线程都会因为ExitProcess而被迫终止。由于创建模态对话框的线程是非正常终止,有它构建...
我用mfc多线程新建对话框,对话框只是闪一下就消失了,该线程就结束了,不...
或,变量dlg要为全局变量 你程序中的是局部变量,生存期showwindow后就结束了
VC中MFC创建了多线程,界面怎么还会有卡死现象,但程序在正确执行(可以执 ...
主线程的Sleep时间太长了
VC 创建多线程的问题
当你创建线程时候,可以给线程函数传递一个参数,这个参数你可以把对话框的指针传进去(也就是 this 指针)。当线程完成前,在线程函数里调用这个 对话框指针,进行操作就好。还有就是你对话框的 button不要用默认按钮,你要新拖个按钮来弄。对话框创建时自带的2个按钮(‘确定’,‘取消’),都有默...
MFC一个对话框通过指针访问另一个对话框的函数会指针失效是为什么?_百度...
确保已经正确地初始化了指针。可以使用CFileDialog::DoModal()或CFileDialog::Create()等函数来创建或显示对话框,并将返回的指针存储起来供以后使用。使用正确的指针类型来访问对话框成员函数,避免类型不匹配导致的错误。如果需要在多线程环境中访问对话框指针,请使用互斥锁或其他同步机制确保线程安全。
mfc创建一个死循环线程时。对话框会被占用。刚点到对话框编辑控件上...
因为如果工作和界面合用同一个线程的话,一个函数(例如上面的某个事件处理程序)工作量很大,很长时间都运行不完的话会一直占用界面线程,界面会一直是卡死的,不能操作,自然也就没法点击第二个按钮。
如何在MFC程序运行中自动弹出对话框并关闭
一、问题的提出 编写一个耗时的单线程程序:新建一个基于对话框的应用程序SingleThread,在主对话框IDD_SINGLETHREAD_DIALOG添加一个按钮,ID为IDC_SLEEP_SIX_SECOND,标题为“延时6秒”,添加按钮的响应函数,代码如下:void CSingleThreadDlg::OnSleepSixSecond(){ Sleep(6000); \/\/延时6秒 } 编译并...
我使用vs2005编译MFC程序,在多线程中创建CSocket类,每当使用Create方法...
CSocket类不稳定,经常出错,建议你直接使用Windows API的SOCKET套接字
mfc程序的界面上控件太多,导致一段时间系统死掉
如果没有其它处理,即使同时显示100个控件也不会造成假死现象。如果界面显示中,需要处理的逻辑和控制太多,可以考虑使用UI界面线程来处理窗口或对话框界面,那么就没有程序半天没反应的情况了。当然,如果机器硬件太差或者系统垃圾过多,那么任何一个界面都可能假死,这个和程序无关。
MFC 多文档程序,某个命令函数执行计算量大的功能时,界面卡在。
使用线程,最简单的办法就是添加 WM_TIMER事件,然后启动它,或者采用其他办法,线程很简单的,使用createthread或者_beginthread或者afxbeginthread,传一个参数进去,就是一个函数名,你要的功能写在你面,在里面更新进度条就可以了,不会