1. 程式人生 > >MFC學習筆記 — VC++中自動檢測串列埠熱插拔事件

MFC學習筆記 — VC++中自動檢測串列埠熱插拔事件

文章出處:(轉載文章,如有不妥,通知後我會立即刪除)

文章索引1

文章索引2

這裡主要利用Cwnd的ON_WM_DEVICECHANGE訊息來處理。

Windows作業系統傳送WM_DEVICECHANGE有些限制:

1、只有頂層窗體的程式才能收到這個訊息;

2、在OnInitDialog中添加註冊訊息;

//註冊訊息
DEV_BROADCAST_DEVICEINTERFACE dbdi;
memset(&dbdi,0,sizeof(dbdi));
dbdi.dbcc_size = sizeof(dbdi);
dbdi.dbcc_devicetype = DBT_DEVTYP_DEVICEINTERFACE;
m_hDevNotify = RegisterDeviceNotification(this->GetSafeHwnd(), &dbdi ,DEVICE_NOTIFY_WINDOW_HANDLE|DEVICE_NOTIFY_ALL_INTERFACE_CLASSES);