您的位置:首页 > 其它

CFileDialog会改变程序的默认执行路径

2012-09-06 09:57 155 查看
今天在用MFC写程序的时候,碰到一个奇怪的问题:在我用CFileDialog选择文件后,程序的其它地方,就提示我说找不到某个文件;这个文件的路径,我是用hard code的方法硬写在程序里方便测试的。 如果这个路径我用的是绝对路径,并不会出问题;如果是用相对路径,则会提示找不到文件。 查了一会MSDN,原来用CFileDialog打开文件后,程序默认的执行路径就得到了改变。这样的话,我在用CFileDialog打开文件后,上述的相对路径自然就要换一换了。于是程序就出了一些莫名其妙的错误~~
切记,使用CFileDialog会改变当前目录,比较稳妥的办法还是绝对路径来访问文件比较好。在程序刚一跑起来的时候,先用GetCurrentDirectory()或是GetModuleFileName()获得当前可执行文件所在的路径,并保存起来。以后即使是用CFileDialog改变了当前的路径,也能很容易地找回来。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: