(1)在MFC中的CWnd创建出来之后,任何时刻调用CWnd::DragAcceptFiles()该方法。一般是在OnCreate()、OnInitDialog()中调用。
CWnd::DragAcceptFiles();
(2)让窗口接受WM_DROPFILES事件void CCef_DemonDlg::OnDropFiles( HDROP hDropInfo )这个就是接受到文件后触发回调函数。
BEGIN_MESSAGE_MAP(CCef_DemonDlg, CDialog)
ON_WM_DROPFILES()//拖拽响应消息
END_MESSAGE_MAP()
(3)让函数获取文件列表
//Cef_DemonDlg.h中
void OnDropFiles( HDROP hDropInfo );
//Cef_DemonDlg.cpp中
void CCef_DemonDlg::OnDropFiles( HDROP hDropInfo )
{
int i;
int nFiles = ::DragQueryFile(hDropInfo, (int) -1, NULL, 0);
for (i = 0; i < nFiles; i++)
{
TCHAR szFileName[_MAX_PATH];
::DragQueryFile(hDropInfo, i, szFileName, _MAX_PATH);
MessageBox(szFileName);
}
}
这样就获取到了所有的文件名字,然后,你该干什么就干什么了。