使用GetOpenFileName和GetSaveFileName函数会改变当前目录的问题

时间:2022-08-15 20:35:26

如题,你在使用这两个函数打开,保存文件时,如果在非当前目录下操作的话,你的当前目录就会被改变了,这会导致,默认当前目录下的文件读写出现意想不到的问题。

解决方法,使用OFN_NOCHANGEDIR,但msdn里说 Windows NT 4.0/2000/XP: This flag is ineffective forGetOpenFileName.

我在XP下试,结果为effective。

为了更保险些,在调用这两个函数前保存当前目录,调用完后再用SetCurrentDirectory恢复。