Exécuter un programme par un service

cs_gipp Messages postés 12 Date d'inscription lundi 19 mars 2001 Statut Membre Dernière intervention 27 mai 2008 - 28 juil. 2007 à 14:05
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 - 31 juil. 2007 à 13:58
Bonjour,

Voilà ma situation :
J'ai fait un service en VB.NET qui exécute un programme à intervalle de temps régulier.
Ce programme exécuté a également été fait en VB.NET et tourne en multi-threads et affiche une icône dans la barre de tâche ("NotifyIcon") qui me permet de prendre le contrôle du programme.
Il fonctionne très bien lorsque je l'exécute moi-même.

Voilà mon problème :
L'icône n'apparaît pas dans la barre de tâche quand le programme est exécuté par mon service.
J'ai vérifié dans la liste des processus, et mon programme est bien là, donc l'exécution c'est bien passé.
Malheureusement, sans l'icône, je ne peux pas prendre son contrôle !

Ma petite idée :
Dans la liste des processus, on voit qu'il est bien exécuté, mais il a été exéxuté par l'utilisateur "SYSTEM" ! Cela est peut-être la cause de mon problème.

Avez-vous une idée que comment faire ?
Peut-être une méthode pour lancer mon programme sous le compte (utilisateur) de ...

Merci pour vos réponses,
Gilles

/

4 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
28 juil. 2007 à 14:14
Ben si tu sais que tu fais du VB.net, pourquoi tu poste dans le forum VB6 ???

Je déplace vers le forum approprié.
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
28 juil. 2007 à 14:27
Peut-etre un debut de piste, les services étant démarrés très tot lors du démarrage de Windows, si ton service démarre immédiatement le programme et que celui-ci se met immédaitement aussi dans la zone de notification de la barre des taches, peut-etre que ces opérations sont faites avant même que le programme gérant cette zone de notification soit chargé par Windows. Du coup ton programme tentant de "s'inscrire" avant "l'ouverture du guichet", n'est pas présent dans la zone de notification.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
cs_gipp Messages postés 12 Date d'inscription lundi 19 mars 2001 Statut Membre Dernière intervention 27 mai 2008
28 juil. 2007 à 16:56
Déjà merci pour vos réponses.
Désolé d'avoir posté mon message dans le mauvais thème et merci pour me l'avoir déplacé.

Non, ce n'est pas une bonne piste, car logué en administrateur, j'ai arrêté puis redemarré le services, qui ma aussitôt lancé le programme voulu en observant la liste des processus dans le gestionnaire de tâches... mais malheureusement, toujours pas mon icône dans ma barre de tâches !!!

Je cherche, je cherche, ...

Y-a-t-il une autre méthode que la commande "shell" pour lancer un programme ? Une méthode avec un paramètre qui pourrait dire : visible à tous le monde ou exécuter en tant que...
0
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
31 juil. 2007 à 13:58
Salut,

Il me semble avoir lu quelque part que les processus tournants avec l'utilisateur SYSTEM ne peuvent interagir avec l'utilisateur. En effet, il serait risqué qu'un utilisateur sans pouvoir manipule un processus avec tous les pouvoirs...

Pourquoi faire démarrer ton programme par un service ?
Pourquoi ne pas le faire démarrer normalement par la base de registre ?

Fait executer... puis tape msconfig.
Dans l'onglet service, tu auras les services, qui seront a priori tous executés par l'utilisateur SYSTEM.
Dans l'onglet Démarrage, tu auras des applis executées par l'utilisateur, sont certaines placent certainement des icône dans ta barre de notification.

Tu peux executer un processus en tant que quelqu'un par exemple avec une fonction de l'api Win32.
Il doit y avoir un équivalent dotnet.
Mais comme le dis casy, ça risque de démarrer trops tôt...
0
Rejoignez-nous