CFileDialog应用中的一点说明
通常当我们使用了CFileDialog选择了文件后,当前的工作路径会随着改变,如果在程序中有相对路径的表示,那么再次使用这个路径时,将出现错误.
这一点很难以察觉,因此如果在调用CFileDialog后使工作目录不变化,最好是使用绝对路径,但是这就涉及到环境变量改变的问题.
还有一种方法就是在调用CFileDialog之前先保存工作目录,调用之后再重新设定回原来的路径.
CFileDialog dllDlg(TRUE);
char tempPath[256];
GetCurrentDirectoryA(255, tempPath);
if(dllDlg.DoModal() == IDOK);
SetCurrentDirectoryA(tempPath);
通常当我们使用了CFileDialog选择了文件后,当前的工作路径会随着改变,如果在程序中有相对路径的表示,那么再次使用这个路径时,将出现错误.
这一点很难以察觉,因此如果在调用CFileDialog后使工作目录不变化,最好是使用绝对路径,但是这就涉及到环境变量改变的问题.
还有一种方法就是在调用CFileDialog之前先保存工作目录,调用之后再重新设定回原来的路径.
CFileDialog dllDlg(TRUE);
char tempPath[256];
GetCurrentDirectoryA(255, tempPath);
if(dllDlg.DoModal() == IDOK);
SetCurrentDirectoryA(tempPath);