用WinExec函数打开的应用程序无法使用相对路径,求助!
有两个程序,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吗?不想动A程序的代码。
注:A程序和B程序中都有类似XX.open("cfg\\config.xml","r");的使用相对路径的代码。