有两个程序,A程序和B程序,B程序里有一个按钮,点击后能打开A程序。
B程序的按钮响应函数里是这样实现的:
WinExec("D:\\MyTest\\A.exe",1); \* A程序的路径为D:\\MyTest\\A.exe*\
这样打开貌似没有问题,但是!
A程序里有这样一段代码:
XX.open("cfg\\config.xml","r"); \* 打开配置文件,使用相对路径*\
单独运行A程序都没有问题,不论是双击运行、调试运行、还是快捷方式都没有问题。
可是当点击B程序里的按钮时,配置文件就打不开了,open的实际路径是B程序的绝对路径+cfg\\config.xml,当然也就找不到这个文件。
解决办法:使用SetCurrentDirectory函数会改变相对路径。