Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

為光碟機新增「關閉」右鍵選單:VBScript 實作完整教學

編輯:Windows 8 系統介紹

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),以此類推。

方案三:整合至光碟機右鍵選單 (進階)

  1. 開啟 regedit,展開 HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Drive\shell
  2. 新建項目 CloseCDROM,修改預設值為「關閉所有」
  3. 在其下新建 command 項目,修改預設值為:
    C:\Windows\System32\WScript.exe "C:\關閉所有.vbe"
    (路徑請依實際儲存位置修改)
  4. 同理可為「關閉指定光碟機」建立選單項目

完成後,在「電腦」視窗中右鍵點擊光碟機磁碟機代號,即可看到「關閉所有」與「關閉指定」選項。

原理解析

Windows Media Player 物件模型 (WMPlayer.OCX.7) 暴露 cdromCollection 集合,Eject 方法在托盤彈出時執行「彈出」,托盤關合時執行「關閉」。連續呼叫兩次即可實現「彈出→關閉」循環,達到單純關閉托盤的目的。

Copyright © Windows教程網 All Rights Reserved