WebTV for Windows Helper Application

[This is preliminary documentation and subject to change.]

Tvwakeup.exe is a helper application for WebTV for Windows. It runs in the background, handling keystrokes and remote control input used to launch WebTV for Windows. In addition, it responds to power management events and can be used to launch record reminder helper applications.

TVWakeup Launching WebTV for Windows from the Keyboard or a Remote Control

TVWakeup enables users to start WebTV for Windows from the keyboard or by using a remote control. To do this, TVWakeup runs in the background, listening for specific keys. If these are not handled by an application, TVWakeup handles them. The keystrokes that TVWakeup handles are Guide, Mute, TV, VolumeDown, and VolumeUp.

You can configure the keystrokes that TVWakeup.exe handles by changing the registry values set under the HKLM\Software\Microsoft\TV Services\Explorer\RemoteKeys\WakeupKeys registry key.

TVWakeup Handling Power Management Events

In addition to handling keyboard and remote control input, the copy of TVWakeup that runs in the background also handles power management events to ensure that television audio does not come on while the system is sleeping.

To prevent sound from coming on when the system is suspended or user is not present, Tvwakeup.exe mutes the master volume when it receives a QuerySuspend event as part of a WM_POWERBROADCAST message. When Tvwakeup.exe receives a OnSuspendFailed, SuspendCritical, or SuspendResume event, it resets the master volume to its original, pre-suspend, value.

As a side-effect, any program that needs to play sound while the system is in Resume Automatic state or when the user is not present, must explicitly un-mute the master volume.

To locate more information about WM_POWERBROADCAST messages and Advanced Configuration and Power Interface (ACPI), see Further Information on Television Services for the Client.

TVWakeup Launching WebTV for Windows from a Record Reminder Task

TVWakeup also serves as a helper application to launch WebTV for Windows when a show reminder runs. It is necessary to use TVWakeup to launch WebTV for Windows because the Task Scheduler will not let the system sleep while any process it has started is still running. To enable the system to go back to sleep after a show has finished recording, the Task Scheduler launches a copy of TVWakeup. TVWakeup starts WebTV for Windows, passes it any command-line parameters that TVWakeup received from the Task Scheduler. The copy of TVWakeup then exits, enabling the system to sleep once the recording is finished.

You can specify a custom helper application to use for record reminders instead of TVwakeup. To do this, set the path and filename of the helper application in the registry value, HKLM\Software\Microsoft\TVServices\Explorer\"HelperApp".