如何使用 Win32 API 删除 USB 驱动器?我在嵌入式系统上做了很多工作,在其中一个系统上,我必须将我的程序复制到 USB 记忆棒上并将其插入目标硬件。

由于我主要在控制台上工作,所以我不喜欢使用鼠标,并且每天单击任务栏小图标数百次。

我很想写一个小程序来完成这个任务,这样我就可以将它放入我的 makefile 中,但我还没有找到任何 API 调用可以完成同样的事情。

有任何想法吗?

有帮助吗?

解决方案

您可以使用 CM_Request_Device_Eject() 函数以及其他一些可能性。请参阅以下项目和文章:

开发弹出:直截了当。http://www.withopf.com/tools/deveject/

一篇有用的 CodeProject 文章:http://www.codeproject.com/KB/system/RemoveDriveByLetter.aspx

其他提示

看起来像 同步 让您指定 -e 来弹出可移动驱动器。虽然不是 win32 API,但您可能只需调用 sync -e [drive_letter] 从你的 makefile 中。

这里有一个 技术网文章 关于可移动存储介质。寻找 DismountNtmsMedia.

这是 Delphi 中的一个解决方案,我已对其进行修改并放入服务中以供大型企业使用。去: 链接文本

查找“scapi(安装和配置管理器 API)”并下载。将有一个名为 USBView 的演示程序帮助您上手。如果您有 Delphi,它还包括一个 TUSBDeviceTree 组件,您可以使用它来收集有关 USB 设备的信息。

问候

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top