Bonjour,
Voici ma problématique:
J'ai un service qui tourne sous le compte SYSTEM. Ce process effectue différentes tâches, et notamment lance d'autres process. Certains de ces process doivent être lancés même si ma session windows n'est pas ouverte, ce cas ne pose aucun problème. Pour rendre compte à l'utilisateur de la bonne fin de certaines tâches, mon service doit cependant aussi être capable de:
1. Vérifier qu'une session windows est ouverte.
2. Si c'est le cas: Lancer un process qui doit lui interagir avec le bureau de la session ouverte.
Sur XP, pas de souci. Mon service a l'autorisation d'interagir avec le bureau, et si une session est ouverte, le process lancé par le service s'affiche.
Sur Vista et Seven, autre histoire: Car le process qui doit s'afficher est lancé par le compte SYSTEM, et il n'interagit pas avec le bureau de l'utilisateur qui a ouvert la session.
Idée: Récupérer simplement le nom du compte de la session ouverte (je cherche explorer.exe dans la liste des process et je récupère le owner du processus, ça, ça marche). Mais si je veux lancer mon process censé s'afficher sur le bureau avec le compte ainsi récupérer, il semble que le mot de passe de session soit requis, or je ne possède pas ce mot de passe.
Bref, y-a-il un moyen simple et élégant de faire lancer par un service windows un process capable d'interagir avec la session du user loggé, et ce sans avoir besoin de fournir le mot de passe de son compte ???
Merci
Partager