CFileDialog会改变程序的默认执行路径
2012-09-06 09:57
155 查看
今天在用MFC写程序的时候,碰到一个奇怪的问题:在我用CFileDialog选择文件后,程序的其它地方,就提示我说找不到某个文件;这个文件的路径,我是用hard code的方法硬写在程序里方便测试的。 如果这个路径我用的是绝对路径,并不会出问题;如果是用相对路径,则会提示找不到文件。 查了一会MSDN,原来用CFileDialog打开文件后,程序默认的执行路径就得到了改变。这样的话,我在用CFileDialog打开文件后,上述的相对路径自然就要换一换了。于是程序就出了一些莫名其妙的错误~~
切记,使用CFileDialog会改变当前目录,比较稳妥的办法还是绝对路径来访问文件比较好。在程序刚一跑起来的时候,先用GetCurrentDirectory()或是GetModuleFileName()获得当前可执行文件所在的路径,并保存起来。以后即使是用CFileDialog改变了当前的路径,也能很容易地找回来。
切记,使用CFileDialog会改变当前目录,比较稳妥的办法还是绝对路径来访问文件比较好。在程序刚一跑起来的时候,先用GetCurrentDirectory()或是GetModuleFileName()获得当前可执行文件所在的路径,并保存起来。以后即使是用CFileDialog改变了当前的路径,也能很容易地找回来。
相关文章推荐
- 修改注册表改变程序默认安装路径
- CFileDialog 改变程序当前路径
- CFileDialog 会改变程序的当前路径
- 怎么改变CFileDialog的默认路径
- vs2010 调试 改变程序的执行路径 显示下一语句
- os.popen('python hello_out.py')中Python程序执行时默认的当前路径为MS-DOS CMD的默认路径
- linux 程序内部 查看可执行程序路径
- QT中如何获得执行程序的路径
- Aptana 开发环境执行时默认的工作路径
- linux rpm包,安装路径查看及改变rpm包默认安装路径
- tomcat的默认程序发布路径的使用与修改
- linux改变自拉起程序运行路径到程序所在路径
- 获取当前程序可执行文件的所在路径
- 如何将mysql的默认datadir改变成自己想要的路径
- C# WinForm获取 当前执行程序路径的几种方法
- 改变SQL默认数据库的存储路径
- 改变Prompt默认路径,Change Default Visual Studio Command Prompt Location
- 01线程是一个程序里不同的执行路径
- C++获取当前可执行程序(*.exe)所在的路径
- 使用RunWith注解改变JUnit的默认执行类,并实现自已的Listener