原创:qsycn
默认的CFileDialog选取文件的行为会改变当前路径
解决方法就是不让CFileDialog改变当前路径
在CFileDialog构造函数中
explicit 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 );
在参数dwFlags 中再或(|)一个OFN_NOCHANGEDIR即可
其在MSDN中的定义如下
OFN_NOCHANGEDIRWindows NT 4.0/2000/XP: This flag is ineffective for GetOpenFileName.