@xumaojun
非常感谢你,问题解决了。我上网查了下,是这个问题。
这是我在网上找的解决方案:
使用GetOpenFileName和GetSaveFileName函数会改变当前目录的问题
如题,你在使用这两个函数打开,保存文件时,如果在非当前目录下操作的话,你的当前目录就会被改变了,这会导致,默认当前目录下的文件读写出现意想不到的问题。
解决方法,使用OFN_NOCHANGEDIR,但msdn里说 Windows NT 4.0/2000/XP: This flag is ineffective for GetOpenFileName.
我在XP下试,结果为effective。
为了更保险些,在调用这两个函数前保存当前目录,调用完后再用SetCurrentDirectory恢复。