问题描述
大家好,
我正在为WPF应用程序编写C#类库.每当插入/拔出某些USB设备时,类库应引发一个事件.
我正在使用RegisterRawInputDevices API注册USB设备,并且能够处理WM_Input邮件在库中.
我也能够获取WM_DEVICECHANGE消息.但是WParam的值始终为7,而我希望得到
DBT_DEVICEARRIVAL = 0x8000或DBT_DEVICEREMOVECOMPLETE = 0x8004
我从http://www.dotnet247.com/247引用了一个示例/msgs/32/164968.aspx(窗口应用示例).
它讨论了如何使用RegisterDeviceNotification()方法.此方法需要一个句柄.
我正在使用
System.Windows.Interop. WindowInteropHelper temp = 新 WindowInteropHelper (此 .currentWindow);
System.Windows.Interop.WindowInteropHelper temp = new WindowInteropHelper(this.currentWindow);
windowHandle = temp.Handle;
RegisterDeviceNotification(windowHandle,Buffer,DEVICE_NOTIFY_WINDOW_HANDLE);
但是,我仍然无法从WParam中的DBT_DEVICEARRIVAL/DBT_DEVICEREMOVECOMPLETE值中获取WM_DEVICECHANGE消息?
任何帮助将不胜感激.
问候
Pankaj
推荐答案
这篇关于WPF中的RegisterDeviceNotification的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!