像这样的……

解决方案 »

  1.   

    CString str;
    BROWSEINFO bi;
    char name[MAX_PATH];
    ZeroMemory(&bi,sizeof(BROWSEINFO));
    bi.hwndOwner=GetSafeHwnd();
    bi.pszDisplayName=name;
    bi.lpszTitle="Select folder";
    bi.ulFlags=BIF_USENEWUI;
    LPITEMIDLIST idl=SHBrowseForFolder(&bi);
    if(idl==NULL)
    return;
    SHGetPathFromIDList(idl,str.GetBuffer(MAX_PATH));
    str.ReleaseBuffer();
      

  2.   

    void CXaInfoServerDlg::OnBrowse() 

    // TODO: Add your control notification handler code here 
    CString strPath; 
        BROWSEINFO bInfo; 
        LPITEMIDLIST pidl; 
        ZeroMemory ( (PVOID) &bInfo,sizeof (BROWSEINFO));     bInfo.hwndOwner = this->m_hWnd; 
        bInfo.pszDisplayName = strPath.GetBuffer(MAX_PATH); 
        bInfo.lpszTitle = ""; 
        bInfo.ulFlags = BIF_RETURNFSANCESTORS|BIF_RETURNONLYFSDIRS; 
        bInfo.lpfn = NULL; 
        bInfo.lParam = 0; 
        
        if ((pidl = ::SHBrowseForFolder(&bInfo)) == NULL) 

            return; 

        if (::SHGetPathFromIDList(pidl,strPath.GetBuffer(MAX_PATH)) == FALSE) 

            return; 

    //m_AllFilePath.SetWindowText(strPath);