执行环境在d:\1\下,
当执行路径是当前路径的时候,运行过程中,导入了绝对路径变量c:\2\,执行路径就会被改变成c:\2\,
不是原来的d:\1\了。关于这个问题的解决逻辑是:
在改变之前,得到当前路径,存到一个变量中:str = getcurrentdirectry \\是d:\1\
然后,在改变之后,setcurrentdirectry,当前路径就会变回来,
代码如下:
char pBuf[MAX_PATH]; //存放路径的变量
GetCurrentDirectory(MAX_PATH,pBuf); //获取程序的当前目录
strcat(pBuf,"\\");
CString strtemp1=pBuf;
dlg.DoModal() ;
SetCurrentDirectory(strtemp1);