如何使用Win32 API刪除USB驅動器?我在嵌入式系統上做了很多工作,其中一個我必須將我的程序複製到U盤上並插入到目標硬件中。使用Win32 API安全地移除USB驅動器?
由於我主要在控制檯上工作,我不喜歡使用鼠標並每天點擊一次小的任務欄圖標一百次。
我很想寫一個小程序來做到這一點,所以我可以把它放到我的makefile中,但是我還沒有找到任何API調用來做同樣的事情。
任何想法?
如何使用Win32 API刪除USB驅動器?我在嵌入式系統上做了很多工作,其中一個我必須將我的程序複製到U盤上並插入到目標硬件中。使用Win32 API安全地移除USB驅動器?
由於我主要在控制檯上工作,我不喜歡使用鼠標並每天點擊一次小的任務欄圖標一百次。
我很想寫一個小程序來做到這一點,所以我可以把它放到我的makefile中,但是我還沒有找到任何API調用來做同樣的事情。
任何想法?
可以使用CM_Request_Device_Eject()函數,以及一些其他的可能性。 查閱以下項目和文章:
DevEject:直截了當。 http://www.withopf.com/tools/deveject/
有用CodeProject上的文章: http://www.codeproject.com/KB/system/RemoveDriveByLetter.aspx
它看起來像Sync可讓您指定-e彈出可移動驅動器。雖然不是win32 API,但您可能只需從makefile中調用sync -e [drive_letter]
即可。
但是,如何知道哪個驅動器號已添加到USB驅動器?我也想刪除基於卷的USB驅動器,如不允許USB音量超過5GG等。 – 2010-10-18 09:41:34
它適用於Windows 10嗎? – KansaiRobot 2018-02-15 06:29:25
請參閱Microsoft知識庫文章Q165721:http://support.microsoft.com/kb/165721 - 包括完整的C源代碼
這裏是一個technet article約可移動存儲介質。尋找DismountNtmsMedia
。
這是Delphi中的一個解決方案,我已經修改並將其放入一個服務中,用於非常大的企業。轉到:link text
尋找「scapi(設置&配置管理器API)」,並下載它。將會有一個名爲USBView的演示程序,可以幫助您順利完成任務。如果您有Delphi,那麼還包括一個TUSBDeviceTree組件,您可以使用該組件收集有關USB設備的信息。
Regards
完美..你甚至連接到一個實用工具來完成這項工作。非常感謝。 – 2008-09-17 17:39:29