如何注册事件处理程序
设备可能会生成许多事件,并且每个事件可以选择由多个不同的处理程序之一进行处理。 在 Windows XP 中,定义了以下事件:
- DeviceArrival
- DeviceRemoval
- MediaArrival
- MediaRemoval
Instructions
事件处理程序在 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 键 | 媒体或文件类型 |
---|---|
HandleCDBurningOnArrival | 空白 CD-R/CD-RW |
ShowPicturesOnArrival | 图片文件 |
PlayMusicFilesOnArrival | 音乐文件 |
PlayVideoFilesOnArrival | 视频文件 |
PlayCDAudioOnArrival | 音频 CD (REDBOOK 格式 CD,其中包含音频曲目) |
PlayDVDMovieOnArrival | DVD 电影 |
除了上述事件之外,Windows Vista 还预定义了以下一组 EventHandler。
EventHandlers 键 | 媒体或文件类型 |
---|---|
PlaySuperVideoCDMovieOnArrival | 超级视频CD 电影 |
PlayVideoCDMovieOnArrival | VideoCD 电影 |