我的程序中会选择文件进行操作,当我选定文件后,发现很多本地目录下的文件不能找到了,好象系统当前目录也变了。

解决方案 »

  1.   

    用下面的函数获得系统的当前路径
    DWORD GetCurrentDirectory(
      DWORD nBufferLength,  // 存放当前路径的缓冲区长度
      LPTSTR lpBuffer       // 存放当前路径的缓冲区
    );
      

  2.   

    char *Temp = new char[100];
     
    ::GetModuleFileName(NULL,Temp,MAX_PATH);

    CString path;
    path = Temp;
    int pos = path.ReverseFind ('\\');
    path = path.Left (pos+1);
      

  3.   

    如果你打开其他的文件的话,在用GetCurrentDirectory得到的目录肯定不是当前程序的目录所以你只有在开始程序初始化的时候用到的GetCurrentDirectory才是原目录,设置一个公共变量,第一次取到,后面就用这个变量即可