我有一个基于 MFC 的遗留应用程序,到目前为止我无法对其进行太多修改。
有一项功能涉及从/向 INI 文件读取/写入数据。编写时要牢记 ini 文件中的设置数量将非常少。但现在它已经变得非常庞大。
所以在执行这个任务时,大约需要 30 分钟。
问题是当用户点击应用程序时,应用程序被锁定并且窗口窗口显示它没有响应对话框,询问用户是否需要等待应用程序响应或退出。
现在对我来说,我可以管理时间。但我不希望窗口显示“不响应”行为。
我认为问题是,主线程在这个过程中很忙,并且 UI 挂起。我不确定这一点,因为我只是猜测。
为了处理这个问题,我创建了一个线程并在其中调用这个函数。但是在这个线程函数中,我无法调用该AfxGetMainWnd();
函数,因为它正在返回NULL
.
如果有人请让我知道,如何处理这种情况(留下不发生这种情况的理想情况),这将非常有帮助?
也欢迎任何好的建议。
我的另一个想法也是将此代码放在进度条对话框中。---- 欢迎对此进行思考。
谢谢