que - Visualización de la ventana en la pantalla de inicio de sesión con C#en Windows XP
pasos para cerrar sesion en la computadora (2)
Estoy intentando crear un servicio con C # que inicia un proceso que se puede mostrar en la pantalla de inicio de sesión de Windows XP.
Encontré un código que está haciendo esto en C ++. El código C ++ es para un servicio que crea otro proceso con STARTUPINFO.lpDesktop establecido en "WinSta0 / WinLogon". El proceso creado se muestra en la pantalla de inicio de sesión de Windows. Parece que no puedo encontrar una forma de especificar el ''escritorio'' de un nuevo proceso en C # usando la clase System.Diagnostic.Process.
¿Alguien sabe cómo hacer esto con C #?
Creo que tendrás que escribirlo en C ++, compilarlo en una DLL y luego llamar a la DLL desde tu código administrado.
La solución fue llamar a la función de la API C ++ Win32 CreateProcess desde kernel32.dll desde el código C #. Este sitio fue muy útil para obtener la firma de función correcta para C #:
http://www.pinvoke.net/default.aspx/kernel32/CreateProcess.html