最近在完成一个MFC程序时发现了CFile类的一个现象,当定义
CFileDialog为CFileDialog dlg(TRUE,
_T(".jpg"),NULL,
OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
_T("图形文件(*.jpg)|*.jpg|所有文件 (*.*)|*.*||"));
时当你调用dlg.DoModal();后再调用GetCurrentDirectory时当前程序路径变成了CFileDialog打开的路径。
如果要让CFileDialog的使用不影响GetCurrentDirectory函数获取当前程序的路径就要把CFileDialog定义为
CFileDialog dlg(TRUE,
_T(".jpg"),
NULL,
OFN_NOCHANGEDIR,
_T("图形文件(*.jpg)|*.jpg|所有文件 (*.*)|*.*||"));