我希望能夠檢測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