使用GetOpenFileName和GetSaveFileName函数会改变当前目录的问题
2012-11-09 00:32
645 查看
如题,你在使用这两个函数打开,保存文件时,如果在非当前目录下操作的话,你的当前目录就会被改变了,这会导致,默认当前目录下的文件读写出现意想不到的问题。
解决方法,使用OFN_NOCHANGEDIR,但msdn里说 Windows NT 4.0/2000/XP: This flag is ineffective for
GetOpenFileName.
我在XP下试,结果为effective。
为了更保险些,在调用这两个函数前保存当前目录,调用完后再用SetCurrentDirectory恢复。
解决方法,使用OFN_NOCHANGEDIR,但msdn里说 Windows NT 4.0/2000/XP: This flag is ineffective for
GetOpenFileName.
我在XP下试,结果为effective。
为了更保险些,在调用这两个函数前保存当前目录,调用完后再用SetCurrentDirectory恢复。
相关文章推荐
- 使用 OPENFILENAME 以及 GetOpenFileName、GetSaveFileName 实现打开,保存对话框
- 使用GetModuleFileName函数获取当前程序所在目录
- 使用GetModuleFileName函数获取当前程序所在目录
- 子类化GetOpenFileName/GetSaveFileName, 以及钩子函数OFNHookProc的使用的简要说明
- 子类化GetOpenFileName/GetSaveFileName, 以及钩子函数OFNHookProc的使用的简要说明
- C++中用 GetModuleFileName()函数 获得程序当前的运行目录
- GetOpenFileName/GetSaveFileName之Crash和pdfshell.dll
- MFC获得当前应用程序目录的GetCurrentDirectory()和GetModuleFileName()函数
- MFC获得当前应用程序目录的GetCurrentDirectory()和GetModuleFileName()函数
- WinAPI:GetOpenFileName、GetSaveFileName、OFNHookProc
- OpenFileDialog改变当前目录的问题
- MFC获得当前应用程序目录GetCurrentDirectory()和GetModuleFileName()函数
- 资源地址;浏览和打开文件;GetOpenFileName;GetSaveFileName;OPENFILENAME;PtrToStringChars;.NET类库的打开文件夹操作
- 获得当前应用程序目录的GetCurrentDirectory()和GetModuleFileName()函数 .
- MFC获得当前应用程序目录的GetCurrentDirectory()和GetModuleFileName()函数
- MFC获得当前应用程序目录的GetCurrentDirectory()和GetModuleFileName()函数
- MFC获得当前应用程序目录的GetCurrentDirectory()和GetModuleFileName()函数
- MFC获得当前应用程序目录的GetCurrentDirectory()和GetModuleFileName()函数
- MFC获得当前应用程序目录的GetCurrentDirectory()和GetModuleFileName()函数
- MFC获得当前应用程序目录的GetCurrentDirectory()和GetModuleFileName()函数