Services run in session 0. In XP and earlier, the first user must log in also in session 0, and subsequent users are started in sessions 1 and above. If the service is set to "Interact with the desktop," it can access any user windows that are running in session 0. However, starting with Vista, users no longer work in session 0. FindWindow () only works in the context of a session in which it is called because windows cannot be accessed across session boundaries.
source share