我不熟悉USB,我不能(使用delphi)通过自我断开USB功能来改进我的软件。
程序已打开并从USB内存驱动器(例如F:/)运行,当它停止时我尝试自动弹出设备。
我还尝试运行一个运行禁用USB设备的程序的.bat文件。如果从本地驱动器(C:/)启动此.bat文件一切正常,但如果从USB记忆棒(F:/)启动此.bat文件则会失败。
这里是我获得信息的链接:
How can i remove a USB flash disk programmatically using delphi?
delphi中的任何建议?
答案 0 :(得分:2)
您遇到的问题是您正在执行的进程是从您正在弹出的驱动器运行的。可执行文件已锁定,可防止驱动器被弹出。
很明显你需要做什么。您必须确保驱动器上没有文件被锁定。这意味着您必须终止您的流程。然后,您需要另一个进程,从另一个驱动器运行,以执行弹出。执行以下操作:
CreateProcess
。将进程A的可继承句柄传递给命令行上的进程B.