Windows 預設的光碟機右鍵選單僅提供「彈出」功能,缺少「關閉托盤」選項。使用者若不想按物理按鈕,往往需安裝第三方工具。實際上,透過簡單的 VBScript 腳本即可輕鬆補全此功能,甚至整合至右鍵選單。
適用於多光碟機環境。建立文字檔,貼入以下代碼:
Set wmp = CreateObject("WMPlayer.OCX.7")
Set cdrom = wmp.cdromCollection
If cdrom.Count >= 1 Then
For z = 0 To cdrom.Count - 1
cdrom.Item(z).Eject
Next
' 連續呼叫兩次 Eject 可觸發「關閉」動作
For z = 0 To cdrom.Count - 1
cdrom.Item(z).Eject
Next
End If
存檔為 關閉所有.vbe (記得選「所有檔案」類型),桌面建立捷徑,雙擊即可關閉所有彈出的光碟機托盤。
針對特定光碟機 (索引從 0 開始)。例如關閉第一台:
Set wmp = CreateObject("WMPlayer.OCX.7")
Set cdrom = wmp.cdromCollection
cdrom.Item(0).Eject
cdrom.Item(0).Eject
存為 close1.vbe。第二台將 Item(0) 改為 Item(1),以此類推。
regedit,展開 HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Drive\shellCloseCDROM,修改預設值為「關閉所有」command 項目,修改預設值為:C:\Windows\System32\WScript.exe "C:\關閉所有.vbe"完成後,在「電腦」視窗中右鍵點擊光碟機磁碟機代號,即可看到「關閉所有」與「關閉指定」選項。
Windows Media Player 物件模型 (WMPlayer.OCX.7) 暴露 cdromCollection 集合,Eject 方法在托盤彈出時執行「彈出」,托盤關合時執行「關閉」。連續呼叫兩次即可實現「彈出→關閉」循環,達到單純關閉托盤的目的。