Olá Júlio,
Não respondendo sua pergunta diretamente, em realidade, o seu serviço nunca deveria interagir com a área de trabalho, uma vez que o Windows Service é executado em um contexto totalmente diferente do usuário logado.
Aliás, você pode ter múltiplos usuários logados em uma mesma máquina... Como é que o serviço iria "adivinhar" em qual desses usuários a interação deve ocorrer?
Mais, se não existir nenhum usuário logado, o serviço é executado na mesma, já que o Windows Service é executado no seu próprio contexto, antes mesmos de ter um usuário logado na máquina.
A minha sugestão (e a prática mais comum para interação entre Windows Service e Desktop), é você criar DUAS aplicações diferentes... Um Windows Service e outra aplicação Desktop (WPF ou Windows Forms) que é executada após o usuário efetuar login (via menu iniciar, por exemplo), e que poderia ter apenas um ícone na bandeja para indicar que está rodando.
Essa aplicação Desktop é que ficaria responsável por executar as outras aplicações, á pedido do Windows Service, quando chegar o momento...
Essas duas aplicações podem comunicar-se de diferentes formas... Provavelmenente através de um serviço WCF, ou então diretametne via Named Pipes, TCP/IP, SharedMemory, ou outro mecanismo qualquer.
Abraços,
Caio Proiete
Caio Proiete
Microsoft MVP, MCT, MCPD, MCTS, MCSD
http://www.caioproiete.com