IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

[C#][Service Win.] Comment autoriser un service à intéragir avec le bureau?


Sujet :

C#

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 85
    Points : 62
    Points
    62
    Par défaut [C#][Service Win.] Comment autoriser un service à intéragir avec le bureau?
    Bonjour,

    J'ai écrit un service Windows qui doit parfois afficher des informations à l'écran, ce qui s'effectue à l'aide d'un excutable séparé, les services ne permettant pas d'interaction avec l'utilisateur. Pour permettre l'affichage de ma Form, je dois spécifier dans les propriétés de mon service (Panneau de configuration, Outils d'administration, Services), à la main, que je souhaite l'autoriser à intéragir avec le bureau.

    Je souhaiterais automatiser cette manipulation, quelqu'un a-t-il une idée de comment réaliser cela?

    Pour l'installation du service, j'ai utilisé un "Setup and deployment project" de Visual Studio.

    Merci d'avance!

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 85
    Points : 62
    Points
    62
    Par défaut J'ai trouvé!
    Voici le code à ajouter au constructeur de l'objet ProjectInstaller:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    // Here is where we set the bit on the value in the registry.
    // Grab the subkey to our service
    RegistryKey ckey = Registry.LocalMachine.OpenSubKey(
    @"SYSTEM\CurrentControlSet\Services\WindowsService1", true);
    // Good to always do error checking!
    if(ckey != null)
    {
    // Ok now lets make sure the "Type" value is there,
    //and then do our bitwise operation on it.
    if(ckey.GetValue("Type") != null)
    {
    ckey.SetValue("Type", ((int)ckey.GetValue("Type") | 256));
    }
    }
    Et ça marche!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 13
    Dernier message: 05/02/2008, 15h51
  2. [G][Service Win.] exécution logiciel depuis service
    Par gerald2545 dans le forum Général Dotnet
    Réponses: 5
    Dernier message: 27/11/2006, 08h53
  3. Réponses: 1
    Dernier message: 22/09/2006, 10h55
  4. Réponses: 1
    Dernier message: 02/08/2006, 16h18
  5. Réponses: 6
    Dernier message: 25/02/2006, 15h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo