共用方式為


如何註冊事件處理程式

裝置可能會產生許多事件,而且每個事件都有一個由數個不同處理程式處理的選項。 在 Windows XP 中,定義了下列事件:

  • 裝置到達
  • 裝置移除
  • MediaArrival
  • MediaRemoval

指示

事件處理程式定義於 EventHandlers 索引鍵底下。 事件處理程式索引鍵的值是用戶偵測到事件時必須從中選擇的每個處理程式名稱。 沒有與這些項目相關聯的數據值。 以下是名為 MyNewRemovalEventHandler的自定義事件處理程式範例定義,向使用者呈現這些處理程式的可能性:

  • 如果事件是在名為 Contoso Inc. 的公司所建立的裝置上偵測到的事件處理程式。
  • 如果在名為 Fabrikam, Inc 的公司所建立的裝置上偵測到事件時使用的處理程式。
  • 用於所有其他情況的處理程式。
HKEY_LOCAL_MACHINE
   SOFTWARE
      Microsoft
         Windows
            CurrentVersion
               Explorer
                  AutoplayHandlers
                     EventHandlers
                        MyNewRemovalEventHandler
                           CompanyContosoHandler [REG_SZ]
                           CompanyFabrikamHandler [REG_SZ]
                           MyRemovalHandler [REG_SZ]

定義事件處理程式之後,必須向其中一個事件可能性的裝置處理程序註冊它:DeviceArrival、DeviceRemoval、MediaArrival 或 MediaRemoval。 稍早定義的 MyNewRemovalEventHandler 會用於名為 MyDeviceHandler 的自定義裝置處理程式下的 DeviceRemoval,並在下列範例中針對該用途定義。 同樣地,登錄值沒有數據元件。

HKEY_LOCAL_MACHINE
   SOFTWARE
      Microsoft
         Windows
            CurrentVersion
               Explorer
                  AutoplayHandlers
                     DeviceHandlers
                        EventHandlers
                           DeviceRemoval
                              MyNewRemovalEventHandler

Windows XP 預先定義下列一組 EventHandlers。

EventHandlers 鍵值 媒體或檔案類型
到達時處理光碟刻錄 空白CD-R/CD-RW
顯示到達時的圖片 圖片檔案
PlayMusicFilesOnArrival 音樂檔案
到達時播放視頻文件 視訊檔案
到達時播放CD音頻 音樂 CD (REDBOOK 格式 CD 與音樂曲目)
到達後播放DVD電影 DVD 電影

 

除了上述專案之外,Windows Vista 還預先定義下列一組 EventHandlers。

事件處理程序 鍵值 媒體或檔案類型
到達時播放超級影碟電影 超級VCD 電影
到達時播放影音光碟電影 VideoCD 電影