mfc检测U盘

xfsyj2014 xfsyj2014 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
LRESULT CUDlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
// TODO: 在此添加专用代码和/或调用基类
switch (message)
{
//WM_DEVICECHANGE,系统硬件改变发出的系统消息
case WM_DEVICECHANGE:
{
PDEV_BROADCAST_HDR lpdb = (PDEV_BROADCAST_HDR)lParam;
switch (wParam)
{
case WM_DEVICECHANGE:
break;
case DBT_DEVICEARRIVAL://DBT_DEVICEARRIVAL,设备检测结束,并且可以使用
{
if (lpdb->dbch_devicetype == DBT_DEVTYP_VOLUME)//逻辑卷
{
PDEV_BROADCAST_VOLUME lpdbv = (PDEV_BROADCAST_VOLUME)lpdb;
switch (lpdbv->dbcv_flags)
{
case 0: //U盘
{
CString decDriver;
decDriver = FirstDriveFromMask(lpdbv->dbcv_unitmask);
TRACE1("检测到U盘:[%s]插入!\n", decDriver.GetBuffer(0));
}
break;
case DBTF_MEDIA: //光盘
TRACE1("检测到光盘:[%c]插入!\n", FirstDriveFromMask(lpdbv->dbcv_unitmask));
break;
}
}
}
break;
case DBT_DEVICEREMOVECOMPLETE://DBT_DEVICEREMOVECOMPLETE,设备卸载或者拔出
{
if (lpdb->dbch_devicetype == DBT_DEVTYP_VOLUME)//逻辑卷
{
PDEV_BROADCAST_VOLUME lpdbv = (PDEV_BROADCAST_VOLUME)lpdb;
switch (lpdbv->dbcv_flags)
{
case 0: //U盘
{
CString decDriver;
decDriver = FirstDriveFromMask(lpdbv->dbcv_unitmask);
TRACE1("检测到U盘:[%s]拔出!\n", decDriver.GetBuffer(0));
}
break;
case DBTF_MEDIA: //光盘

break;
}
}
}
break;
}
}
break;
}
return CDialogEx::WindowProc(message, wParam, lParam);
}






这是mfc检测U盘代码,其中如图片所示我圈起来的地方提示未定义标识符,这些应该怎么解决呢 ?
...全文
评论 4
收藏 已收藏
分享
返回顶部
xfsyj2014
VC/MFC 16,550 成员 421,606 内容