我希望能够检测Windows在何时卸载卷(它可以是外部USB/FireWire/eSATA驱动器,网络共享文件夹或任何其他类型的逻辑卷)。在Windows上检测未安装的卷
我在MSDN上发现了RegisterDeviceNotification()
功能,该功能非常适用于检测USB驱动器的连接/断开。此功能是否也可以用于各种音量,或只是外部物理设备? 如果没有,你是否知道我可以用它来做什么(除了投票)?
最后一个问题,我是新来在Windows C++和RegisterDeviceNotification()
医生说,我的第一个参数是A handle to the window or service that will receive device events for the devices specified in the NotificationFilter parameter.
以我为例,我本来想在我的程序的main()
功能的通知注册,有某种onNotificationReceived()
方法来处理通知。我可以这样做吗(如果是,如何),还是必须注册另一个在另一个进程中运行的窗口/服务?
这听起来像我想要做的,所以,为了接收这些消息,我只需要在我的程序中声明一个回调函数?我在哪里可以找到这个功能的签名?谢谢! – nbarraille 2012-01-12 21:06:36
@nbarraille:WM_DEVICECHANGE消息应发送到所有顶级窗口。所以在你的WndProc中处理它们,或者你最喜欢的框架给你处理窗口消息的地方。 – 2012-01-12 21:43:40
我的程序只是一个控制台程序,它没有窗口。我如何注册以接收这些通知? – nbarraille 2012-01-12 22:00:25