首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在使用CFileDialog打开文件失败时捕获异常

如何在使用CFileDialog打开文件失败时捕获异常
EN

Stack Overflow用户
提问于 2019-01-21 15:00:06
回答 1查看 123关注 0票数 1

当我要打开的一个或多个文件正在被其他进程或应用程序使用或打开时,我需要捕获一个异常。我正在使用MFC的CFileDialog's DoModal打开一个选定文件的列表。但是,当我在Open file对话框中选择一个文件后单击Open时,会出现一个小的弹出对话框,说明所选的文件正被另一个应用程序使用。DoModal方法仅返回(返回成功或失败代码),即在打开文件对话框关闭后返回。因此,当打开文件对话框打开时,我不知道在哪里插入代码来检查所选文件是否无法打开。

代码语言:javascript
复制
CFileDialog fd (TRUE, NULL, _T("*.pid"), OFN_FILEMUSTEXIST | OFN_HIDEREADONLY);
if (fd.DoModal() == IDOK)
{
    //Get selected filenames 
} 

当我双击选择一个文件或单击OpenFileDialog窗口中的打开按钮时,我会想要插入一个AfxMessageBox调用。

EN

Stack Overflow用户

回答已采纳

发布于 2019-01-21 16:17:48

使用虚拟函数CFileDialog::OnShareViolation

您还可以删除OFN_SHAREAWARE并使用CFileDialog::OnFileNameOK进行自己的检查

票数 3
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54284869

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档