VC++文件拖放

 属性Accept Files 设置True,消息WM_DROPFILES 设置事件OnDropFiles

void CNWiReworkDlg::OnDropFiles(HDROP hDropInfo)
{
    // TODO: 在此添加消息处理程序代码和/或调用默认值
    LPTSTR pFilePathName = (LPTSTR)malloc(250);
    DragQueryFile(hDropInfo, 0, pFilePathName, 250);  // 获取拖放文件的完整文件名,最关键!
    
    CString filePath = pFilePathName;
    filePath.MakeLower();
    if (filePath.Find(_T(".bin")) > -1)
    {
        m_ctrlProgress.SetPos(0);
        ShowMessage(_T(""), 0);
        SetDlgItemText(IDC_STATIC_HexFileName, pFilePathName);
    }

    DragFinish(hDropInfo);  //拖放结束后,释放内存  
    CDialog::OnDropFiles(hDropInfo);
    free(pFilePathName);
}
原文地址:https://www.cnblogs.com/ike_li/p/7505747.html