ドロップしたファイル名を得る

ウィンドウにドロップしたファイル名を得るためにはまず、ドラッグアンドドロップができるようにしないといけない。

1 DROPファイルを受け取りたいウィンドウのメッセージハンドラ  OnDropFiles を作成する
2 OnCreate などに、  DragAcceptFiles();  の1行を追加する。
3 UINT uiLen=DragQueryFile(hDropInfo,i,NULL,0);
4 OnDropFiles  内で、以下のようにしてファイル名を受け取る。下はMDIの場合
 

void CChildFrame::OnDropFiles(HDROP hDropInfo)
{
// TODO: この位置にメッセージ
ハンドラ用のコードを追加するかまたはデフォルトの処理を呼び出してください
 
//ドロップされたファイルの個数
UINT uiCount=DragQueryFile(hDropInfo,~0lu,NULL,0);
for(UINT i=0;i<uiCount;i++){
// 個数分やる
 //ファイル名の長さ
 UINT uiLen=DragQueryFile(hDropInfo,i,NULL,0);
 CString str;
 DragQueryFile(hDropInfo,i,str.GetBuffer(uiLen+1),uiLen+1);
 str.ReleaseBuffer();
// str = ファイル名
 // ここでファイル名を使って好きな処理をする

 
}
// CMDIChildWnd::OnDropFiles(hDropInfo);
}