In order to get dropped files(AKA: file(s) which were dragged onto the window control) you'll have to accomplish two steps: Note that the DragQueryFile also retrieves directories! 1.Add the accept-files style to the window control DWORD dwStyle = GetWindowLong(hWnd, GWL_EXSTYLE); SetWindowLong(hWnd, GWL_EXSTYLE, dwStyle | WS_EX_ACCEPTFILES); 2.In the window procedure proccess the WM_DROPFILES message char tmp[256]; case WM_DROPFILES: HDROP hDrop = (HDROP)wParam; DWORD DropsNo = DragQueryFile(hDrop, -1, NULL, 0); for (DWORD i = 0; i < DropsNo; i++) { DragQueryFile(hDrop, i, tmp, 256); MessageBox(NULL, tmp, "", MB_OK); // Do anything with the data... } DragFinish(hDrop); return(0); Voila :)