간단하게 함수를 사용하기 위하여 클래스 위저드를 연다.

Class Info -> Advanced options -> Message filter에서 Window를 선택하고,

다시 Message Maps로 이동한다.
Messages에서 다시 함수를 찾아보게 되면 WM_DropFiles가 보일 것이다.
해당 함수를 추가한다.
Drag&Drop을 활성화 하기 위하여 아래의 코드를 초기화 하는 부분에 추가해 준다.

DragAcceptFiles(true);

그리고 다음의 코드를 원하는 곳에 응용하여 준다.

CHAR  szPath[1024];  // 기본 파일 경로 및 파일명을 가져오기 위해 사용
CFileStatus fileStatus; // file 정보를 가져올 때 사용
DragQueryFile(hDropInfo, 0, (LPTSTR)szPath, 1023);     // 입력된 첫번째 파일 정보를 읽어온다.
CFile::GetStatus(szPath, fileStatus);     // 파일 정보를 읽음

아래 코드를 이용할 수도 있을 것이다.

SHFILEINFO shFileInfo;
SHGetFileInfo(szPath, NULL, &shFileInfo, sizeof(SHFILEINFO), SHGFI_DISPLAYNAME | SHGFI_ICON);


데브피아의 자료실에서 참고한 코드 및 자작 코드 짬뽕 ^^

+ Recent posts