很着急!!
谢谢。

解决方案 »

  1.   

    如果是获得EXE的当前路径
    //获取当前程序的完整路径,包括程序名
    CString szPath;
    GetModuleFileName(NULL,szPath.GetBuffer(MAX_PATH),MAX_PATH);
    szPath.ReleaseBuffer();

    //我给你一个函数吧,你放在你的APP文件类里面
    //不包括程序名
    CString CXXXXXXApp::GetCurDir()
    {
     TCHAR sDrive[_MAX_DRIVE];
     TCHAR sDir[_MAX_DIR];
     TCHAR sFilename[_MAX_FNAME],Filename[_MAX_FNAME];
     TCHAR sExt[_MAX_EXT];
     GetModuleFileName(AfxGetInstanceHandle(), Filename, _MAX_PATH);
     _tsplitpath(Filename, sDrive, sDir, sFilename, sExt);
     CString homeDir(CString(sDrive) + CString(sDir));
     int nLen = homeDir.GetLength();
     if(homeDir.GetAt(nLen-1) != _T('\\'))
      homeDir += _T('\\');
     return homeDir;
    }
      

  2.   

    谢谢,还没仔细看。我是想在sdk的对话框里选择文件应该有现成的东西可以调用吧?
    好像getFilePath是查不到的。
      

  3.   

    没错,象楼上所说,用GetModuleFileName,然后自己处理~
      

  4.   

    用api函数吧OPENFILENAME ofn;       // common dialog box structure
    char szFile[260];       // buffer for file name
    HWND hwnd;              // owner window
    HANDLE hf;              // file handle// Initialize OPENFILENAME
    ZeroMemory(&ofn, sizeof(ofn));
    ofn.lStructSize = sizeof(ofn);
    ofn.hwndOwner = hwnd;
    ofn.lpstrFile = szFile;
    //
    // Set lpstrFile[0] to '\0' so that GetOpenFileName does not 
    // use the contents of szFile to initialize itself.
    //
    ofn.lpstrFile[0] = '\0';
    ofn.nMaxFile = sizeof(szFile);
    ofn.lpstrFilter = "All\0*.*\0Text\0*.TXT\0";
    ofn.nFilterIndex = 1;
    ofn.lpstrFileTitle = NULL;
    ofn.nMaxFileTitle = 0;
    ofn.lpstrInitialDir = NULL;
    ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;// Display the Open dialog box. if (GetOpenFileName(&ofn)==TRUE) 
        hf = CreateFile(ofn.lpstrFile, GENERIC_READ,
            0, (LPSECURITY_ATTRIBUTES) NULL,
            OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,
            (HANDLE) NULL);