Executar um processo de um serviço do Windows como o usuário atual

Eu atualmente tenho um serviço do windows que está sendo executado sob a conta do sistema. Meu problema é que eu preciso iniciar certos processos de dentro do serviço como o usuário logado atual. Eu tenho todo o código etc para obter o atual usuário conectado / sessão ativa.

Meu problema é que eu preciso gerar um processo como o usuário logado, mas não saberá as credenciais do usuário, etc.

O serviço é .net serviço compilado e eu espero que eu precise usar alguns métodos Pinvoke para obter uma alça de um dos usuários atuais processo, a fim de duplicá-lo e almoçar como processo com o identificador.

Infelizmente não consigo encontrar nenhuma boa documentação / solução sobre como implementá-lo?

Se alguém é capaz de me dar alguma orientação / exemplo eu agradeceria muito.

* Atualizada * Eu acho que expliquei isso incorretamente e preciso reajustar de acordo com o que eu realmente preciso. Eu não necessariamente quero lançar um novo processo, eu só quero representar o usuário logado. Eu estive tão embrulhado em olhar para CreateProcess etc eu levei-me para baixo um caminho de criar um novo processo como o usuário logado atual (o que não é particularmente o que eu quero fazer).

Por sua vez eu só quero executar algum código no contexto do usuário atual (representar o atual usuário conectado)?

questionAnswers(2)

yourAnswerToTheQuestion