vc检测USB设备插入或移除
来源:互联网 发布:淘宝大学课程图片 编辑:程序博客网 时间:2024/04/30 03:51
1.添加消息映射
消息映射
BEGIN_MESSAGE_MAP(CONSTNETCNDlg, CDialog)
//{{AFX_MSG_MAP(CONSTNETCNDlg)
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
...
ON_WM_DEVICECHANGE()
//}}AFX_MSG_MAP
声明消息响应函数:
afx_msg BOOL OnDeviceChange(UINT nEventType, DWORD dwData);
定义函数内容:
BOOL CONSTNETCNDlg::OnDeviceChange(UINT nEventType,DWORD dwData)
{
DEV_BROADCAST_DEVICEINTERFACE* dbd = (DEV_BROADCAST_DEVICEINTERFACE*) dwData;
//这里进行信息匹配,比如guid等
//针对各个事件进行处理.
switch (nEventType)
{
case DBT_DEVICEREMOVECOMPLETE:
MessageBox("移除USB");
break;
case DBT_DEVICEARRIVAL:
MessageBox("发现USB");
break;
default:
break;
}
return TRUE;
}
2.注册设备(添加到OnInitDialog中即可)
DEV_BROADCAST_DEVICEINTERFACE DevInt;
memset(&DevInt,0,sizeof(DEV_BROADCAST_DEVICEINTERFACE));
DevInt.dbcc_size = sizeof(DEV_BROADCAST_DEVICEINTERFACE);
DevInt.dbcc_devicetype = DBT_DEVTYP_DEVICEINTERFACE;
DevInt.dbcc_classguid = { 0xA5DCBF10, 0x6530, 0x11D2, { 0x90, 0x1F, 0x00, 0xC0, 0x4F, 0xB9, 0x51, 0xED } };
RegisterDeviceNotificationthis->GetSafeHwnd(),&DevInt,DEVICE_NOTIFY_WINDOW_HANDLE);
PS:只有注册了该设备,OnDeviceChange才能获得详细的信息,否则收到的nEventType参数都是0007,dwData无数据。
消息映射
BEGIN_MESSAGE_MAP(CONSTNETCNDlg, CDialog)
//{{AFX_MSG_MAP(CONSTNETCNDlg)
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
...
ON_WM_DEVICECHANGE()
//}}AFX_MSG_MAP
声明消息响应函数:
afx_msg BOOL OnDeviceChange(UINT nEventType, DWORD dwData);
定义函数内容:
BOOL CONSTNETCNDlg::OnDeviceChange(UINT nEventType,DWORD dwData)
{
DEV_BROADCAST_DEVICEINTERFACE* dbd = (DEV_BROADCAST_DEVICEINTERFACE*) dwData;
//这里进行信息匹配,比如guid等
//针对各个事件进行处理.
switch (nEventType)
{
case DBT_DEVICEREMOVECOMPLETE:
MessageBox("移除USB");
break;
case DBT_DEVICEARRIVAL:
MessageBox("发现USB");
break;
default:
break;
}
return TRUE;
}
2.注册设备(添加到OnInitDialog中即可)
DEV_BROADCAST_DEVICEINTERFACE DevInt;
memset(&DevInt,0,sizeof(DEV_BROADCAST_DEVICEINTERFACE));
DevInt.dbcc_size = sizeof(DEV_BROADCAST_DEVICEINTERFACE);
DevInt.dbcc_devicetype = DBT_DEVTYP_DEVICEINTERFACE;
DevInt.dbcc_classguid = { 0xA5DCBF10, 0x6530, 0x11D2, { 0x90, 0x1F, 0x00, 0xC0, 0x4F, 0xB9, 0x51, 0xED } };
RegisterDeviceNotificationthis->GetSafeHwnd(),&DevInt,DEVICE_NOTIFY_WINDOW_HANDLE);
PS:只有注册了该设备,OnDeviceChange才能获得详细的信息,否则收到的nEventType参数都是0007,dwData无数据。
- vc检测USB设备插入或移除
- 检测机器接入或移除usb设备
- 检测USB插入和移除事件
- 检测USB插入和移除事件
- C#实现USB插入检测,移除
- 两种检测USB设备插入和移除的方法(Ver 2)
- USB设备的插入检测
- USB设备的插入检测
- 安全移除USB设备
- Android有两种方法检测USB设备插入
- 检测USB设备的插入和拔出
- 检测USB设备的插入和拔出
- USB设备的插入检测机制
- 检测USB设备插入和拔出
- 检测USB和SD卡存储设备的接入和移除
- 检测USB和SD卡存储设备的接入和移除
- 检测USB和SD卡存储设备的接入和移除
- 禁用可移除USB设备
- 关于vmware与visual pc对USB设备的支持
- Linux驱动编程 step-by-step (八)
- visual studio 2008 开发c++学习(二)--入门hello world程序
- C++内存分配
- ACE TAO 1.3a windows安装
- vc检测USB设备插入或移除
- 压力下慰劳下自己
- Fedora16 x86_64 安装 android 开发环境(64位需装32位运行库)
- 2011-11-26
- Java异常处理
- 从B树、B+树、B*树谈到R 树
- Ubuntu 下用Source Insight
- 稳压管和TVS管的工作原理
- kxuan_z的博客开写了