我正在尝试在连接到自动光盘更换器的 Windows PC 上弹出光盘。我有以下大部分时间都可以使用的 powershell 脚本:
$path=$args[0]
$sh = New-Object -Comobject "Shell.Application"
$sh.Namespace(17).Items() |
Where-Object { $_.Type -eq "Removable Disc" } |
foreach {
if($_.Path -eq $path) { $_.InvokeVerb("Eject") }
}
但是,有时它不起作用,大概是因为 Windows 认为该驱动器仍在使用中。
有什么方法可以从中获取响应代码来判断它是否已成功弹出光盘?或者以其他方式告诉光盘是否仍然安装?
或者,有没有人知道一种很好的 C++ 方法,这会更好,因为我可以避免调用单独的脚本......