我不熟悉USB,而且我不能(用delphi)用自断开USB功能来改进我的软件。
该程序是打开的,并从USB存储驱动器(例如,F:/)运行,当它停止时,我尝试做的是自动弹出设备。
我还尝试做了一个.bat文件,它运行了一个禁用USB设备的程序。如果此.bat文件是从本地驱动器(C:/)启动的,则一切正常,但如果此.bat文件是从U盘(F:/)启动的,则会失败。
下面是我获取信息的链接:
How can i remove a USB flash disk programmatically using delphi?
在delphi中有什么建议吗?
发布于 2014-11-29 18:50:12
您遇到的问题是您正在执行的进程是从您正在弹出的驱动器中运行的。可执行文件已锁定,这会阻止您的驱动器被弹出。
你需要做什么是显而易见的。您必须确保驱动器上没有文件被锁定。这意味着您必须终止您的进程。然后,您需要从不同的驱动器运行另一个进程来执行弹出。执行以下操作:
CreateProcess
启动另一个可执行文件,比如进程B。在命令行上将进程A的可继承句柄传递给进程B。https://stackoverflow.com/questions/27201148
复制相似问题