CFileDialog(
BOOL bOpenFileDialog,
LPCTSTR lpszDefExt = NULL,
LPCTSTR lpszFileName = NULL,
DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
LPCTSTR lpszFilter = NULL,
CWnd* pParentWnd = NULL,
DWORD dwSize = 0,
BOOL bVistaStyle = TRUE
);
///CFileDialog构造函数
这里只说最后一个参数,与我遇到的情况,并谈谈避免方法
我在使用CFileDialog时候,同时进行文件操作(是指 用CFile fopen一类函数打开相对路径文件,不是CFileDialog返回的选择文件名。),当你选择文件后,一定是选择了确定,之后你在进行文件操作,你会发现打不开文件。
这个后来发现是文件选择对话框 会改变应用程序的当前路径,所以你的相对路径就会无效了。导致打开你的配置文件无效。
CFileDialog 最后一个参数, 可以指定vista风格。 默认是选择,就是1 。 这样子就没有我所遇见的问题了。如图

偏偏我的电脑上的VS2010装的有点问题, 使用默认风格时,调试是对的,发布的时候就会给你弄成另外一种风格,这种风格如下图,就会发生我遇到的问题。

一开始我一直找不到原因,后来调试了知道错误发生在打开了文件选择对话框这里,就是不知道错误原因。
后来我们公司的前辈,大牛哇,我给他一说,他就说是文件路径的问题,叫我写绝对路径,然后就没这个问题咯。
我写这里主要是备注。
第一种方法就是将文件选择对话框 的风格为1 ,就不会有这情况咯。
第二种就是写绝对路径。
绝对路径要保险些。 但是第一种方便些。