Exibindo janela na tela de logon Usando C # no Windows XP
-
01-07-2019 - |
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 #?
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.