1

我需要识别 CD 驱动器并弹出托盘。这是在 WinPE 中启动时执行的,因此 WMP 弹出功能不可用。该脚本将用于各种计算机型号/配置。我目前正在使用这个:

For Each d in CreateObject("Scripting.FileSystemObject").Drives
    CreateObject("Shell.Application").Namespace(17).ParseName("D:\").InvokeVerb("Eject")
Next

它可以工作,但有时会出错并需要用户交互才能弹出。我怀疑这是因为硬编码的D:\驱动器号,但我可能完全错了。我需要这个在没有 3rd 方实用程序的情况下工作。

4

2 回答 2

3

使用对象的DriveType属性Drive

For Each d in CreateObject("Scripting.FileSystemObject").Drives
    WScript.sleep 60
    If d.DriveType = 4 Then
        CreateObject("Shell.Application").Namespace(17).ParseName(d.DriveLetter & ":\").InvokeVerb("Eject")
    End If
Next
于 2013-01-08T17:30:51.290 回答
1

这是使用媒体播放器弹出的代码;我不确定从您的 WinPE 环境中调用有多么容易:

' http://www.msfn.org/board/topic/45418-vbscript-for-openingclosing-cd/ 
' http://waxy.org/2003/03/open_cdrom_driv/
Set oWMP = CreateObject("WMPlayer.OCX.7" )
Set colCDROMs = oWMP.cdromCollection
     For d = 0 to colCDROMs.Count - 1
           colCDROMs.Item(d).Eject 
Next 'null

计划 B 是下载“eject.exe”的副本,并将其包含在您的 WinPE 媒体中:

于 2013-01-08T17:08:18.297 回答