none
Lancer un process à partir de l'utilisateur system

    Discussion générale

  • Bonjour à tous :) ,

    J'ai un onduleur connecté en USB, et le logiciel qui l'accompagne permet de lancer un .exe si jamais l'onduleur perd sa tension d'entrée.

    J'ai donc fait un petit programme en en C# qui écrit dans un fichier log, puis qui affiche une fenêtre afin de m'en informer.

    Si j'exécute directement le programme, le programme écrit bien dans le fichier log et la fenêtre s'ouvre bien, en revanche si je ferme l'onduleur, le programme écrit bien dans le fichier log mais la fenêtre ne s'ouvre pas...

    Donc ayant mis l'utilisateur en cours dans mon fichier log, je remarque que l'utilisateur est "Administrateur" quand c'est moi qui lance le programme, mais c'est "Système" quand il est lancé par l'onduleur!

    Alors peut être que le problème vient de là ?

    J'ai donc créé un autre programme afin d'essayer d'ouvrir le premier programme avec process.start() sous un autre utilisateur, en l'occurrence Administrateur, mais sa ne fonctionne pas! Il écrit bien dans le fichier mais la fenêtre n'apparait toujours pas :( , après je ne sais pas si le fait que l'Administrateur n'ai pas de mot de passe peut changer quelque chose...

    J'avoue que je commence à manquer d'idée! Donc je suis preneur de toute suggestion

    Merci d'avance :)

    jeudi 20 avril 2017 12:55

Toutes les réponses

  • Bonjour,

    Afin de lancer un fichier exécutable en tant que 'Système' celui-ci doit être développé comme service Windows.

    Sinon, vous pouvez essayer de remplacer 'process.start()' par:

    psexec.exe -i -s VotreExecutable.exe;

    Pour cela vous devez télécharger PsExec : Windows Sysinternals PsExec


    Cordialement


    IT Technician, IT Support, .NET Developer

    vendredi 21 avril 2017 05:07
  • Bonjour,

    Déjà merci pour votre réponse!

    Je me suis certainement mal expliqué (il est vrai que mon titre prête à confusion)

    Je doit faire un programme qui ouvre une fenêtre sur la session en cours (Administrateur)

    Ce programme est justement exécuté par un service Windows, donc sous l'utilisateur "Système".

    Et mon problème c'est que quand mon programme est lancé par l'utilisateur système, la fenêtre ne s'affiche, alors que si je clic directement dessus (session administrateur) la fenêtre s'affiche bien Oo

    Merci

    mercredi 3 mai 2017 14:14