close
由於工作上有用到這個東西,然後查了一下自己的文章似乎沒有提到這玩意,於是就想說乾脆來寫一篇關於DeviceChange的文章了。
讓我這裡就快速教學吧,因為,這玩意真心不難啊啊啊啊啊...................
Step1. #include <dbt.h>
Step2. 在.h裡面新增 afx_msg BOOL OnDeviceChange(UINT nEventType, DWORD_PTR dwData); 和 HDEVNOTIFY m_hDevNotify;
Step3.
BEGIN_MESSAGE_MAP(xxxxxxxxxDlg, CDialogEx)
ON_WM_DEVICECHANGE() <-------------------新增這個
END_MESSAGE_MAP()
Step4. 主體
BOOL
xxxxxxxxxDlg::OnDeviceChange(UINT nEventType, DWORD_PTR dwData) { BOOL bRet = FALSE; switch (nEventType) { case DBT_DEVICEARRIVAL: { DBG("DBT_DEVICEARRIVAL\n"); break; } case DBT_DEVICEREMOVECOMPLETE: case DBT_DEVICEQUERYREMOVE: { DBG("Remove\n"); break; } } return bRet; }
Step5. 釋放掉
void
xxxxxxxxxDlg::OnDestroy() { if (NULL != m_hDevNotify) { UnregisterDeviceNotification(m_hDevNotify); m_hDevNotify = NULL; } CDialogEx::OnDestroy();
全站熱搜