GSI

[MFC] 폴더 경로 얻기

C++ 2007. 12. 12. 14:23 |

사용자 삽입 이미지

 ITEMIDLIST      *pidlBrowse;
 char                  pszPathname[MAX_PATH];

 BROWSEINFO     BrInfo;

 BrInfo.hwndOwner = GetSafeHwnd();
 BrInfo.pidlRoot = NULL;

 memset( &BrInfo, 0, sizeof(BrInfo) );
 BrInfo.pszDisplayName = pszPathname;
 BrInfo.lpszTitle = "선택하고자 하는 폴더를 선택해 주십시오.";
 BrInfo.ulFlags = BIF_RETURNONLYFSDIRS;

 // 다이얼로그 띄우기
 pidlBrowse = SHBrowseForFolder(&BrInfo); 

 if( pidlBrowse != NULL)
 {
  // 패스를 얻어옴
  BOOL bSuccess = ::SHGetPathFromIDList(pidlBrowse, pszPathname);

  if ( bSuccess )
  {
   m_szSafedefaultPath = pszPathname;   //<-- 여기서 값을 입력
   UpdateData(FALSE);
  }
  else
  {
   MessageBox("잘못된 폴더명입니다.", "lol", MB_OKCANCEL|MB_ICONASTERISK );
  }
 }

Posted by gsi
: