ATL可执行文件(.exe)监控USB插拔状态

本文介绍了如何在ATL可执行文件中利用OnDeviceChange(ON_WM_DEVICECHANGE)消息监控USB设备的插拔状态。通过添加消息映射、声明及实现消息响应函数,以及注册设备,使得非服务型的ATL程序也能检测USB设备的变化。同时,文章提到了在Com接口类中创建MsgWnd类以及实现相关功能的方法。
摘要由CSDN通过智能技术生成

OnDeviceChange(ON_WM_DEVICECHANGE)

1.添加消息

1.消息映射
BEGIN_MESSAGE_MAP(CAFT_1394Dlg, CDialog)
//{
  {AFX_MSG_MAP(CAFT_1394Dlg)
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
...
ON_WM_DEVICECHANGE()
//}}AFX_MSG_MAP

2.声明消息响应函数
afx_msg BOOL OnDeviceChange(UINT nEventType, DWORD dwData);

3.定义函数内容:
BOOL XXXXXXX::OnDeviceChange(UINT nEventType,DWORD dwData)
{
   DEV_BROADCAST_DEVICEINTERFACE* dbd = (DEV_BROADCAST_DEVICEINTERFACE*) dwData;

   //这里进行信息匹配,比如guid等

//针对各个事件进行处理.
switch (nEventType)
{
case DBT_DEVICEREMOVECOMPLETE:
   ...
   break;
case DBT_DEVICEARRIVAL:
   ...
   break;
...
...
...

default:
   break;
}

return TRUE;

}


2.注册设备

if (Handle == NULL)
   return FALSE;

DEV_BROADCAST_DEVICEINTERFACE DevInt;
memset(&DevInt,0,sizeo
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值