首页 > MFC开发 > MFC调用CFileDialog之后目录改变

MFC调用CFileDialog之后目录改变

今天在写MFC程序时发现调用CFileDialog之后,再来用相对路径打开程序目录下的文件就不对了,打不开了。后来一调试,发现是程序的路径变成了CFileDialog所选择的路径。

解决方法:在调用CFileDialog的DoModal之前使用GetCurrentDirectory获取程序的目录并且保存下来,然后在DoModal之后嗲用SetCurrentDirectory恢复就可以了。这不会影响到CFileDialog的目录,因为它使用的是绝对路径。


感谢gewala提醒:
在CFileDialog的dwFlags 设置标志OFN_NOCHANGEDIR就可以了,不会改变目录的。(这方法更加方便)

觉得文章还不错?点击此处对作者进行打赏!


本文地址: 程序人生 >> MFC调用CFileDialog之后目录改变
作者:代码疯子(Wins0n) 本站内容如无声明均属原创,转载请保留作者信息与原文链接,谢谢!


更多



分类: MFC开发 标签: , ,
  1. gewala
    2011年5月29日10:10 | #1

    在CFileDialog的dwFlags 设置标志OFN_NOCHANGEDIR就可以了,不会改变目录的。

    [回复]

  2. 2011年5月29日10:46 | #2

    @gewala
    [em022] 谢谢指点,试了一下,可以达到效果。

    [回复]

  3. 2011年6月8日13:53 | #3

    你在TX实习,主要内容是搞什么的开发?
    用汇编???

    [回复]

  4. 2011年6月8日17:27 | #4

    @C瓜哥
    做客户端安全方面的工作,汇编和C应该都是需要的

    [回复]

  5. nbuxrr
    2013年8月12日19:17 | #5

    两种方法CFileDialog在Domodal时,都还是改变了相对路径,唉。

    [回复]