OVH Cloud OVH Cloud

Systray Windows

2 réponses
Avatar
Jedi_bc
Bonjour,

J'ai un programme qui se lance en service et qui est iconifié dans la
systray windows. Jusque là tout va bien. Sauf que si le service n'est
pas lancé parle compte système, il n'y a pas d'icone dans la systray
windows de l'administrateur. Ou bien si il est lancé par le compte
système, si je change de session utilisateur, il n'y a plus d'icone en
systray windows.

Quelqu'un aurait-il une solution pour que l'icone soit présente dans
tout les cas de figure ?

Merci

2 réponses

Avatar
Thierry
Bonjour,

Jedi_bc a écrit :

J'ai un programme qui se lance en service et qui est iconifié dans la
systray windows. Jusque là tout va bien. Sauf que si le service n'est
pas lancé parle compte système,



Le service tourne sous le compte sous lequel il a ete configuré pour tourné
pour, peu importe qui le lance.

il n'y a pas d'icone dans la systray
windows de l'administrateur. Ou bien si il est lancé par le compte
système, si je change de session utilisateur, il n'y a plus d'icone en
systray windows.

Quelqu'un aurait-il une solution pour que l'icone soit présente dans
tout les cas de figure ?



Il ne faut pas que les services ait une interface utilisateur.
Fait ton service sans interaction avec le bureau, et fait un programme avec
lequel causera le service, vi TCPIP, pipe ou autre mecanisme.

--
« Le travail est probablement ce qu'il y a sur cette terre de plus bas et
de plus ignoble. Il n'est pas possible de regarder un travailleur sans
maudire ce qui a fait que cet homme travaille, alors qu'il pourrait nager,
dormir dans l'herbe ou simplement lire ou faire l'amour avec sa femme. »
Boris VIAN
Mon blog RSS : http://yarglah.free.fr/monblog_rss.php <<




Avatar
Arnaud Debaene
Jedi_bc wrote:
Bonjour,

J'ai un programme qui se lance en service et qui est iconifié dans la
systray windows.


Mauvaise idée, un service ne devrait *jamais* interagir avec le bureau
(risque de sécurité - cf. "shatter attack" sur Google)

Jusque là tout va bien. Sauf que si le service n'est
pas lancé parle compte système, il n'y a pas d'icone dans la systray
windows de l'administrateur. Ou bien si il est lancé par le compte
système, si je change de session utilisateur, il n'y a plus d'icone en
systray windows.

Quelqu'un aurait-il une solution pour que l'icone soit présente dans
tout les cas de figure ?


Fait un programme séparé chargé de l'interaction utilisateur (systray et
autres) et place le dans le répertoire "Startup" du menu Démarrage de tout
le monde. Cette application communique avec et pilote le service via un
mécanisme IPC ou un autre (socket, pipes, objet COM, ...)

Arnaud