MFC实现设备的插拔检测
来源:互联网 发布:js隐藏显示tr 编辑:程序博客网 时间:2024/04/30 03:14
这里主要利用CWnd的ON_WM_DECICECHANGE消息来处理,这个消息需要手动添加,而且只有顶层窗口可以捕捉到.这个需要手动添加 消息
1、添加消息映射
BEGIN_MESSAGE_MAP(CMFCApplicationTestDlg, CDialogEx)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
……
ON_WM_DEVICECHANGE()//添加消息映射
……
END_MESSAGE_MAP()
2 添加头文件:
#include “dbt.h”
3**重点内容**、添加函数(.h文件中)
在窗口类当中添加如下消息响应函数
afx_msg BOOL OnDeviceChange(UINT nEventType, DWORD dwData);
protected:
HICON m_hIcon;
// 生成的消息映射函数
afx_msg void
OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
public:
afx_msg void OnBnClickedCancel();
afx_msg BOOL OnDeviceChange(UINT nEventType, DWORD_PTR dwData);//系统的插拔函数
4、实现
BOOL CFileCopyDlg::OnDeviceChange(UINT nEventType, DWORD dwData)
{
DEV_BROADCAST_DEVICEINTERFACE* dbd = (DEV_BROADCAST_DEVICEINTERFACE*)dwData;
//这里进行信息匹配,比如guid等
//针对各个事件进行处理.
switch (nEventType)
{
case DBT_DEVICEREMOVECOMPLETE://设置移除
if (bFindRemovableDevice)
{
MessageBox(_T(“移除USB”));
bFindRemovableDevice = FALSE;
}
break;
case DBT_DEVICEARRIVAL://设备插入
if (!bFindRemovableDevice)
{
bFindRemovableDevice = TRUE;
MessageBox(_T(“发现USB”));
}
break;
default:
break;
}
return TRUE;
}
5、注册设备OnInitDialog()
DEV_BROADCAST_DEVICEINTERFACE DevBroadcastDeviceInterface;
memset(&DevBroadcastDeviceInterface, 0, sizeof(DEV_BROADCAST_DEVICEINTERFACE));
DevBroadcastDeviceInterface.dbcc_size = sizeof(DEV_BROADCAST_DEVICEINTERFACE);
DevBroadcastDeviceInterface.dbcc_devicetype = DBT_DEVTYP_DEVICEINTERFACE;
DevBroadcastDeviceInterface.dbcc_classguid = { 0xA5DCBF10, 0x6530, 0x11D2,{ 0x90, 0x1F, 0x00, 0xC0, 0x4F, 0xB9, 0x51, 0xED } };
RegisterDeviceNotification(this->GetSafeHwnd(), &DevBroadcastDeviceInterface, DEVICE_NOTIFY_WINDOW_HANDLE);
- MFC实现设备的插拔检测
- MFC实现设备的插拔检测
- 动态检测设备拔插
- MFC检测串口插拔
- 再论检测usb口的设备插拔
- 一个可靠的USB设备插拔检测
- vc检测usb设备的拔插状态
- 感应设备的插拔
- QT5 检测 usb设备插拔
- QT5 检测 usb设备插拔
- usb驱动之设备插拔检测
- mfc检测usb插拔事件
- MFC中捕捉设备插拔信息
- C#实现检测U盘的插拔
- RootHub感应设备的插拔
- USB设备的插拔事件监测
- 检测手机耳机插拔
- udev(九)-- 写个程序检测我们的设备插拔
- spring-redis缓存方案学习一:原始template开发
- JavaWeb——Mybatis逆向工程
- JanusGraph之Transactions
- 300+篇运维、数据库等实战资料免费下载(文章+PDF+视频,持续更新)
- python删除字符串
- MFC实现设备的插拔检测
- smpboot_register_percpu_thread_cpumask的作用
- Android 进阶(三)--Android事件分发机制
- 聚宽-彼得·林奇的成功投资策略
- ROS学习笔记(二)
- 普元 EOS Platform Governor HTTP接入不拦截Url配置规则
- Cocoscreator-初试creator
- iOS自定义游标滑尺
- docker service create 报:No such image:错误解决办法