RegisterDeviceNotification

RegisterDeviceNotification

本文介绍了WPF中的RegisterDeviceNotification的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,

我正在为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的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-16 20:20