Pergunta

Eu estou tentando criar um serviço com C # que inicia um processo que pode ser exibido na tela do Windows XP Logon.

Eu encontrei algum código que está fazendo isso em C ++. O código C ++ é para um serviço que cria um outro processo com STARTUPINFO.lpDesktop conjunto com "WinSta0 \ WinLogon". O processo criado é exibido à tela de logon do Windows. Eu não consigo encontrar uma maneira de especificar o 'desktop' de um novo processo em C # usando a classe System.Diagnostic.Process.

Alguém sabe como fazer isso com C #?

Foi útil?

Solução

A solução foi chamar o C ++ Win32 API função CreateProcess de kernel32.dll a partir do código C #. Este site foi muito útil no sentido de obter a assinatura de função correta para C #:

http://www.pinvoke.net/default.aspx/kernel32 /CreateProcess.html

Outras dicas

Eu acho que você tem que escrever em C ++, compilação que para uma DLL e, em seguida, chamar o DLL do seu código gerenciado.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top