如何使用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