본문 바로가기
C | C++ | VC++

[Programming Tip] 탐색기 열면서 파일 선택하기

by 두루물 2010. 9. 16.
How to open explorer Folder and select the file programmatically

짬나는 시간에 아주 단순하지만 아주 유용한 팁을 하나 소개하고자 한다.
자신의 응용 프로그램에서 마치 뮤토런트 같이 파일 위치 열기시 폴더만 딸랑 열게 아니라,
(해당 파일을 찾아 사용자가 일일이 스크롤 해야 하므로 번거롭다)
아예 파일까지 선택해주는 기능을 수행하려면 다음과 같이 하면 된다.

아마 보통 szOpenFile 가 있는 폴더를 열고자 할 경우, 패스에서 파일명 앞('\\') 까지 자른후,

ShellExecute(NULL,_T("open"),szOpenPath,"",NULL,SW_SHOWDEFAULT);
이런식으로 자주들 쓰고 있었을 것이다.

아래처럼 약간 수정하면, 탐색기로 해당 파일을 선택하면서 오픈할 수가 있다.

  TCHAR szSelFile[MAX_PATH+30];
  wsprintf(szSelFile,"/select, \"%s\"",szOpenFile);
  ShellExecute(NULL,_T("open"),"explorer.exe",szSelFile,NULL,SW_SHOWDEFAULT);

아참,주의 할것은 ,뒤에 공백이 있어야 한다는 거 잊지 마세요,,
^^

출처: http://krkim.net