/// <summary> /// Overrides WndProc to enable checking for and handling /// WM_DEVICECHANGE messages. /// </summary> /// <param name="hwnd"> </param> /// <param name="msg"> </param> /// <param name="wParam"> </param> /// <param name="lParam"> </param> /// <param name="handled"> </param> /// protected IntPtr WndProc(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled) { // The OnDeviceChange routine processes WM_DEVICECHANGE messages. if (msg == DeviceManagement.WmDevicechange) { //var viewmodel = DataContext as MainWindowViewModel; //if (viewmodel != null) viewmodel.OnDeviceChange(wParam, lParam); //DeviceModel.ForceDisconnect(); DeviceModel.ProcessDeviceMessage(wParam.ToInt32(), lParam.ToInt32()); } return(IntPtr.Zero); }