Question

J'essaie de créer un service avec C # qui lance un processus pouvant être affiché sur l'écran d'ouverture de session Windows XP.

J'ai trouvé du code faisant cela en C ++. Le code C ++ concerne un service qui crée un autre processus avec STARTUPINFO.lpDesktop défini sur "WinSta0 \ WinLogon". Le processus créé est ensuite affiché sur l'écran de connexion Windows. Je n'arrive pas à trouver le moyen de spécifier le "bureau" d'un nouveau processus en C # à l'aide de la classe System.Diagnostic.Process.

Quelqu'un sait-il comment faire cela avec C #?

Était-ce utile?

La solution

La solution consistait à appeler la fonction CreateProcess de l'API C ++ Win32 à partir de kernel32.dll à partir du code C #. Ce site a été très utile pour obtenir la signature de fonction correcte pour C #:

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

Autres conseils

Je pense que vous devrez l'écrire en C ++, le compiler dans une DLL, puis appeler la DLL à partir de votre code managé.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top