CFileDialog *dlg = new CFileDialog(TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, "AVI/BLF|*.avi;*.blf||", NULL);
dlg->m_ofn.lpstrTitle = TEXT("加载记录文件");
CString curPathName; //exe所在路径+文件名
CString curPath; //exe所在路径
GetModuleFileName(NULL, curPathName.GetBuffer(MAX_PATH), MAX_PATH);
curPathName.ReleaseBuffer();
int pos = curPathName.ReverseFind('\\');
curPath = curPathName.Left(pos+1);
if (lastLoadPath.IsEmpty())
{
dlg->m_ofn.lpstrInitialDir = curPath.GetBuffer(0);
}
else
{
dlg->m_ofn.lpstrInitialDir = lastLoadPath.GetBuffer(0);
}
if (IDOK == dlg->DoModal())
{
//打开成功
}
else
{
DWORD errorCode = CommDlgExtendedError(); //闪退时返回值为2,查阅微软文档说明为CDERR_INITIALIZATION 0x0002
//The common dialog box function failed during initialization. This error often occurs when sufficient memory is not available.
}
通过资源管理器查看系统内存有10G左右可用,软件占用为100M以内,除了内存不足是否有其他原因?