当我要打开的一个或多个文件正在被其他进程或应用程序使用或打开时,我需要捕获一个异常。我正在使用MFC的CFileDialog's DoModal打开一个选定文件的列表。但是,当我在Open file对话框中选择一个文件后单击Open时,会出现一个小的弹出对话框,说明所选的文件正被另一个应用程序使用。DoModal方法仅返回(返回成功或失败代码),即在打开文件对话框关闭后返回。因此,当打开文件对话框打开时,我不知道在哪里插入代码来检查所选文件是否无法打开。
CFileDialog fd (TRUE, NULL, _T("*.pid"), OFN_FILEMUSTEXIST | OFN_HIDEREADONLY);
if (fd.DoModal() == IDOK)
{
//Get selected filenames
} 当我双击选择一个文件或单击OpenFileDialog窗口中的打开按钮时,我会想要插入一个AfxMessageBox调用。
发布于 2019-01-21 16:17:48
使用虚拟函数CFileDialog::OnShareViolation。
您还可以删除OFN_SHAREAWARE并使用CFileDialog::OnFileNameOK进行自己的检查
https://stackoverflow.com/questions/54284869
复制相似问题