调用如下代码
CFileDialog dlg(TRUE, 0, initFullPath.c_str(), OFN_HIDEREADONLY | OFN_ALLOWMULTISELECT, file_filter.c_str(), nullptr);
if (dlg.DoModal() != IDOK)
{
return false;
}
调试模式下,弹出如下警告
网上大佬给出的原因是:
因为还有没有初始化MFC就调用了某些资源,导致的警告弹框;
在程序的开始加上如下一句即可解决问题
if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
{
//??_Module.LogEvent(_T("MFC初始化错误!"), EVENTLOG_ERROR_TYPE );
return 0;
}
出现此类问题,通常程序的类型为 ConsoleApp,如果是MFC框架的,则不会出问题,因为框架中,在程序启动时,已经对MFC做了初始化的操作;