串口插拔自动检测程序思路
2014-04-03 16:46
253 查看
#include <dbt.h>
HDEVNOTIFY hDevNotify; //硬件插拔句柄
//注册消息
DEV_BROADCAST_DEVICEINTERFACE dbdi;
memset(&dbdi,0,sizeof(dbdi));
dbdi.dbcc_size = sizeof(dbdi);
dbdi.dbcc_devicetype = DBT_DEVTYP_DEVICEINTERFACE;
hDevNotify = RegisterDeviceNotification(Handle,&dbdi,DEVICE_NOTIFY_WINDOW_HANDLE|DEVICE_NOTIFY_ALL_INTERFACE_CLASSES);
注册之后,就能收到 WM_DEVICECHANGE 消息了
if(Message.Msg == WM_DEVICECHANGE) // 硬件插拔
{
if(Message.WParam==DBT_DEVICEARRIVAL) // 新硬件插入
{
}
if(Message.WParam==DBT_DEVICEREMOVECOMPLETE) // 硬件拔出
{
}
}
注销硬件插拔事件
if(hDevNotify)
{
UnregisterDeviceNotification(hDevNotify);
hDevNotify = NULL;
}
注销之后,就收不到插拔事件了
WM_DEVICECHANGE 是需要注册了使用的,不注册是收不到消息的
WM_DEVICECHANGE 消息里面,WParam 等于 DBT_DEVICEARRIVAL 的时候,说明有新硬件,在此
处扫描新串口
WParam 等于 DBT_DEVICEREMOVECOMPLETE 的时候,可能会有串口消失,所以也需要重新扫描
串口
HDEVNOTIFY hDevNotify; //硬件插拔句柄
//注册消息
DEV_BROADCAST_DEVICEINTERFACE dbdi;
memset(&dbdi,0,sizeof(dbdi));
dbdi.dbcc_size = sizeof(dbdi);
dbdi.dbcc_devicetype = DBT_DEVTYP_DEVICEINTERFACE;
hDevNotify = RegisterDeviceNotification(Handle,&dbdi,DEVICE_NOTIFY_WINDOW_HANDLE|DEVICE_NOTIFY_ALL_INTERFACE_CLASSES);
注册之后,就能收到 WM_DEVICECHANGE 消息了
if(Message.Msg == WM_DEVICECHANGE) // 硬件插拔
{
if(Message.WParam==DBT_DEVICEARRIVAL) // 新硬件插入
{
}
if(Message.WParam==DBT_DEVICEREMOVECOMPLETE) // 硬件拔出
{
}
}
注销硬件插拔事件
if(hDevNotify)
{
UnregisterDeviceNotification(hDevNotify);
hDevNotify = NULL;
}
注销之后,就收不到插拔事件了
WM_DEVICECHANGE 是需要注册了使用的,不注册是收不到消息的
WM_DEVICECHANGE 消息里面,WParam 等于 DBT_DEVICEARRIVAL 的时候,说明有新硬件,在此
处扫描新串口
WParam 等于 DBT_DEVICEREMOVECOMPLETE 的时候,可能会有串口消失,所以也需要重新扫描
串口
相关文章推荐
- 【转】iOS程序自动检测更新的实现 -- 思路不错
- 自动检测可用串口实现串口通讯程序(可实现串口热插拔检测)
- 自动检测可用串口实现串口通讯程序(可实现串口热插拔检测)
- iOS程序自动检测更新的实现
- iOS程序自动检测AppStore更新的实现
- 带有自动检测进程的Linux程序
- failover 故障检测、报警、自动切换 程序 monitor_nginx.sh 用于对web server (Nginx) 监测与故障处理
- 转载:编写自动升级程序(思路)
- Linux下检测程序的md5值异常自动报警的脚本
- udev(九)-- 写个程序检测我们的设备插拔
- 自动检测并行 Java 程序中的错误
- VS2005串口通信程序打开多余的文件,导致窗口自动关闭
- 让你的AIR程序自动检测,下载,安装更新
- vs.net打包程序时设置自动检测环境并安装.net framwork
- Linux 检测Python程序是否存在并自动重启
- 串口自动检测
- iOS程序自动检测更新的实现
- android的APP自动更新程序,检测版本,然后下载安装,但app安装后不提示“完成,打开”?
- [Android] 程序版本检测和自动安装
- 反调试技术常用API,用来对付检测od和自动退出程序