2,640
社区成员
发帖
与我相关
我的任务
分享
//注册部分
UID guid;
HRESULT hr = CoCreateGuid(&guid);
//在对话框初始化过程中将设备通知消息注册到winproc中
//Register to receive notification when a USB device is plugged in.
HDEVNOTIFY gNotifyDevHandle;
DEV_BROADCAST_DEVICEINTERFACE broadcastInterface;
broadcastInterface.dbcc_size =sizeof(DEV_BROADCAST_DEVICEINTERFACE);
broadcastInterface.dbcc_devicetype =DBT_DEVTYP_DEVICEINTERFACE;
memcpy( &(broadcastInterface.dbcc_classguid),&(guid),sizeof(struct _GUID));
gNotifyDevHandle = RegisterDeviceNotification(this->GetSafeHwnd(),
&broadcastInterface,
DEVICE_NOTIFY_WINDOW_HANDLE);
//----------------------------------------------------------
afx_msg BOOL OnDeviceChange(UINT nEventType, DWORD dwData);
//--------------------------------------------------------------------
BEGIN_MESSAGE_MAP(CRFIDInputToolDlg, CDialog)
ON_WM_DEVICECHANGE()
......
END_MESSAGE_MAP()
//--------------------------------------------
BOOL CRFIDInputToolDlg::OnDeviceChange(UINT nEventType, DWORD dwData)
{
DEV_BROADCAST_DEVICEINTERFACE* dbd = (DEV_BROADCAST_DEVICEINTERFACE*) dwData;
switch (nEventType)
{
case DBT_DEVICEREMOVECOMPLETE:
AfxMessageBox(_T("设备移除"));
break;
case DBT_DEVICEARRIVAL:
AfxMessageBox(_T("设备接入"));
break;
default:
break;
}
}