GetModuleFileName
去掉文件名即可

解决方案 »

  1.   

    下面函数好像也可以,试一试:
    BOOL GetCurrentDirectory( CString& strDirName ) const;BOOL GetCurrentDirectory( LPTSTR pstrDirName, LPDWORD lpdwLen ) const;
      

  2.   

    GetModuleFileName和etCurrentDirectory效果不一样.
      

  3.   

    vc_boy的对。GetCurrentDirectory函数得到的是当前的路径。比如你建立一个快捷方式,GetCurrentDirectory得到的不是你的应用程序的路径,而是快捷方式所在的目录。
      

  4.   

    用下面这个函数
    DWORD GetModuleFileName(
      HMODULE hModule,    // handle to module to find filename for
      LPTSTR lpFilename,  // pointer to buffer to receive module path
      DWORD nSize         // size of buffer, in characters
    );第一个参数用NULL即可,可以得到路径和文件问,只需去掉文件名即可了
      

  5.   

    char szResult[2000];
    char szTemp[1000];
    char szDir[MAX_PATH];

    memset(szResult,0,sizeof(szResult)); GetCurrentDirectory(MAX_PATH,szDir);
    wsprintf(szTemp,"\n\n当前目录:\t\t%s",szDir);
    strcat(szResult,szTemp); GetModuleFileName(NULL,szDir,MAX_PATH);
    wsprintf(szTemp,"\n\n当前程序的路径名:\t%s",szDir);
    strcat(szResult,szTemp); ::MessageBox(NULL,szResult,"目录信息",MB_OK|MB_ICONINFORMATION);