bat2
Messages postés2Date d'inscriptionvendredi 28 septembre 2007StatutMembreDernière intervention 5 octobre 2007
-
5 oct. 2007 à 12:54
cs_coq
Messages postés6351Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014
-
7 oct. 2007 à 00:18
Salut!
jai créer un service sur .Net avec C#.
Le service est lancé avec le compte System Local
donc il a tout les droits.
Cependant lorsque je veux lancer un .EXE à partir du service il ne se passe rien du moins on voit le processus qui est lancé dans le gestionnaire de tâhe mais la fenetre de l'.EXE que j'ai lancé n'apparait pas.
Si vous avez déjà rencontré ce genre de problème ou si vous avez une solution, merci d'avance de me la communiquer.
bat2
Messages postés2Date d'inscriptionvendredi 28 septembre 2007StatutMembreDernière intervention 5 octobre 2007 5 oct. 2007 à 13:16
Encore Moi
J'ai trouvé la solution javascript:Insert_Emoticon('/imgs2/smile_big.gif');en fait il fallait juste cocher une option:
1. ouvir le gestionnaire de service
2. MonService clique droit >Propriété
3. Puis cocher: autoriser le service à interargir avec le bureau.
Bon comme celui ci est résolu je reformule alors mon problème serait-il possible de le faire à partir du code.
thanks!
chlelong
Messages postés6Date d'inscriptionvendredi 17 février 2006StatutMembreDernière intervention16 juillet 2009 5 oct. 2007 à 13:58
Salut,
Voilà un code qui n'est pas de moi (je ne sais plus où je l'ai récupéré) mais qui marche très bien : une classe pour activer l'option "Autoriser le service à interagir avec le bureau"
qui doit être appelée dans l'événement Commited de ton ServiceInstaller :
private void ServiceInstaller_Committed(object sender, InstallEventArgs args)
{
ServiceController service = new ServiceController("Nom du service");
ServiceOptions.InteractWithDesktop(service, true);
}
public class ServiceOptions
{
public static string InteractWithDesktop(System.ServiceProcess.ServiceController serviceController, bool startService)
{
string returnValue = string.Empty;
try
{
ConnectionOptions coOptions = new ConnectionOptions();
coOptions.Impersonation = ImpersonationLevel.Impersonate;
ManagementScope mgmtScope = new ManagementScope("root\\CIMV2", coOptions);
mgmtScope.Connect();
cs_coq
Messages postés6351Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 7 oct. 2007 à 00:18
Salut,
L'utilisation de l'interaction avec le bureau n'est pas une bonne idée.
Elle posait déjà quelques problèmes, et avec l'arrivée de l'isolation de la session 0 sous Vista et sup, elle est devenue inutilisable.