#include
hdevnotify hdevnotify; //硬體插拔控制代碼
//註冊訊息
dev_broadcast_deviceinte***ce dbdi;
memset(&dbdi,0,sizeof(dbdi));
dbdi.dbcc_size = sizeof(dbdi);
dbdi.dbcc_devicetype = dbt_devtyp_deviceinte***ce;
hdevnotify = registerdevicenotification(handle,&dbdi,device_notify_window_handle|device_notify_all_inte***ce_classes);
註冊之後,就能收到 wm_devicechange 訊息了
if(message.msg == wm_devicechange) // 硬體插拔
if(message.wparam==dbt_deviceremovecomplete) // 硬體拔出
}登出硬體插拔事件
if(hdevnotify)
登出之後,就收不到插拔事件了
wm_devicechange 是需要註冊了使用的,不註冊是收不到訊息的
wm_devicechange 訊息裡面,wparam 等於 dbt_devicearrival 的時候,說明有新硬體,在此
處掃瞄新串列埠
wparam 等於 dbt_deviceremovecomplete 的時候,可能會有串列埠消失,所以也需要重新掃瞄
串列埠
Linux下自動檢測USB熱插拔
做嵌入式 開發,尤其在閘道器 路由器或者其他支援usb 裝置的終端上,為了提高使用者體驗,我們常常需要支援自動識別並掛載usb裝置功能。某些應用程式,在使用usb裝置的過程中,也希望能夠偵測到usb斷開事件,不至於某些工作因為usb已經不存在而白做。在linux 下,我們主要有兩種辦法檢測usb熱插...
Linux下自動檢測USB熱插拔
做嵌入式 開發,尤其在閘道器 路由器或者其他支援usb 裝置的終端上,為了提高使用者體驗,我們常常需要支援自動識別並掛載usb裝置功能。某些應用程式,在使用usb裝置的過程中,也希望能夠偵測到usb斷開事件,不至於某些工作因為usb已經不存在而白做。在linux 下,我們主要有兩種辦法檢測usb熱插...
MFC 程式自動檢測可用串列埠的方法
1 標頭檔案新增宣告。protected 實現串列埠熱插拔 afx msg bool ondevicechange uint neventtype,dword dwdata 2 原始檔新增訊息對映。begin message map cfixtureconfig,cdialog on wm devi...