CFileDialog类中OFN_FORCESHOWHIDDEN属性求助
因个人需求,需要使用CFileDialog类选取个人指定文件。要选择的文件为隐藏文件(非系统文件),所以在文件选择时添加OFN_FORCESHOWHIDDEN属性,但未发现起作用,仍然无法发现隐藏文件。望各位高手指点迷津。。
个人系统WinXP,开发软件VS2005,文件夹属性:隐藏受保护的操作系统文件和不显示隐藏的文件和文件夹(必须是在这种状态下使用)。不使用命令行命令:attrib。
个人测试用例:最简单的MFC的Dialog工程,添加一个按钮用来调用CFileDialog类,添加一个编辑框用来填写文件路径。
MSDN描述:
OFN_FORCESHOWHIDDEN
Windows 2000/XP: Forces the showing of system and hidden files, thus overriding the user setting to show or not show hidden files. However, a file that is marked both system and hidden is not shown.
代码如下:
void CGetFilePath::OnButton()
{
// TODO: Add your control notification handler code here
char szFilters[] = "Txt Files (*.txt)|*.txt|All Files (*.*)|*.*||";
CFileDialog fileDlg (TRUE, NULL, NULL, OFN_FILEMUSTEXIST|OFN_FORCESHOWHIDDEN|OFN_HIDEREADONLY|OFN_NOCHANGEDIR, szFilters, this);
if( fileDlg.DoModal() == IDOK )
{
m_FilePath = fileDlg.GetPathName();
UpdateData(false);
}
else
{
return;
}
UpdateData(true);
}