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

Services Windows Discussion :

[C#] Message Box depuis Windows service


Sujet :

Services Windows

  1. #1
    Membre émérite
    Avatar de azstar
    Homme Profil pro
    Architecte Technique BizTalk/.NET
    Inscrit en
    Juillet 2008
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Technique BizTalk/.NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 198
    Points : 2 424
    Points
    2 424
    Par défaut [C#] Message Box depuis Windows service
    Bonsoir;

    je cherche comment faire pour avec une messagebox depuis un Windows service
    pour faire un choix a l'utilisateur?!!!



    Merci tous le monde

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    un service n'est pas fait pour pouvoir interragir visuellement
    car s'il y a plusieurs sessions d'ouvertes, c'est un peu n'importe quoi d'afficher le message sur une session au hasard

    en théorie pour faire quelque chose de propre (comme on peut le voir avec divers logiciels connus) c'est un service + un programme visuel qui se lance dans le tray sur chaque session, avec un dialogue entre les 2 (plusieurs méthodes possibles pour dialoguer)

    après il reste faisable de faire l'impensable, pour ca il faut cocher dans windows "autoriser le service à interagir avec le bureau" et le msgbox devrait s'afficher
    par contre le résultat n'est pas garanti (en plus d'être déconseillé), et fluctuant selon la version de l'os
    sur certains os il n'apparait pas toujours et que sur une session sélectionnée un peu au hasard, sur d'autres y un prompt système avant la fenêtre ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre émérite
    Avatar de azstar
    Homme Profil pro
    Architecte Technique BizTalk/.NET
    Inscrit en
    Juillet 2008
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Technique BizTalk/.NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 198
    Points : 2 424
    Points
    2 424
    Par défaut
    j'ai pas bien compris ;si vous avez un exemple ça sera plus mieux ;et merci

  4. #4
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    par exemple sql server 2000, c'est un service qui gère la base les connexions etc...
    et au démarrage de chaque session windows y a un programme qui se lance avec un icone dans le système tray qui permet de démarrer/arreter le service, et ce programme ne fait que dire au service ce qu'il doit faire

    tu peux dialoguer par exemple par tcp/ip en local pour passer des commandes ou des infos entre le service et le programme de de session
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre émérite
    Avatar de azstar
    Homme Profil pro
    Architecte Technique BizTalk/.NET
    Inscrit en
    Juillet 2008
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Technique BizTalk/.NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 198
    Points : 2 424
    Points
    2 424
    Par défaut
    j'ai une solution que je doit implémente
    voila mon service est amené a faire des traitement ;bien sûr selon le choix de l'utilisateur de session encours;sinon après le passage d'un durée je choisi le traitement par défaut.

    mon traitement consiste à arrête une application que peut ouvert par l'utilisateur encours ;je doit le dit que l'application doit se termine et je le laisse le temps pour sauvegarde son travail .

  6. #6
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    j'ai du mal à te lire ....

    la session en cours sur un windows server il peut y en avoir des dizaines
    et as tu réellement besoin d'un service windows ... le fait que le programme doivent se lancer au démarrage n'est pas suffisant pour en avoir besoin
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  7. #7
    Membre émérite
    Avatar de azstar
    Homme Profil pro
    Architecte Technique BizTalk/.NET
    Inscrit en
    Juillet 2008
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Technique BizTalk/.NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 198
    Points : 2 424
    Points
    2 424
    Par défaut
    je m'explique :

    - j'ai un Windows service qui fait un traitement .
    et qui ce lance en mode système (ne nécessite pas de session ).

    ce Windows service peut modifie des fichiers d'une autre application ...
    et pour faire ça il faut demande l'autorisation pour que l'utilisateur puis enregistre ces travaux sur cette dernière application.

    ce plateforme est déjà implémente; je ne peut pas modifie cette architecture.
    ma solution consiste à lancer depuis ce Windows service une boite de dialogue pour dire aux utilisateurs que l'application va se ferme afin qu'ils puissent enregistrer ces travaux.

  8. #8
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    j'ai bien compris et j'ai répondu à la question ...

    si tu ne comprends pas la solution propre, coche la case dans les options du service et tu verras bien ce que ca donne avec l'affichage d'une fenêtre ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  9. #9
    Membre émérite
    Avatar de azstar
    Homme Profil pro
    Architecte Technique BizTalk/.NET
    Inscrit en
    Juillet 2008
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Technique BizTalk/.NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 198
    Points : 2 424
    Points
    2 424
    Par défaut
    si je lance une application (process) depuis mon service Windows ,cette application se lance en "gestionnaire de taches " mais sans avoir un interface graphique ;car mode service est en mode System ce qui fait que il ne reconnu pas le mode graphique.

  10. #10
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    un service n'est pas fait pour interagir avec un utilisateur
    si un service lance un programme, le programme sera lancé hors session utilisateur, donc non visible

    si cette fois tu comprends, soit tu ne fais pas un service, soit tu fais en plus du service un programme non service qui communique avec le service

    je vais ré-expliciter :
    ton service à quelque chose à demander, il dit au programme "demande au user tel truc"
    le programme qui est dans le system tray (ou meme invisible) ouvre alors une fenetre pour demander à l'utilisateur
    quand l'utilisateur a choisit, le programme dit au service "l'utilisateur a choisit ca"
    le service peut alors continuer son traitement
    ou encore
    le service veut démarrer un programme dans la session, il dit au programme invisible "démarrer ca"
    et l'autre le fait, et l'utilisateur voit le programme car c'est un programme de sa session qui l'a lancé
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  11. #11
    Membre émérite
    Avatar de azstar
    Homme Profil pro
    Architecte Technique BizTalk/.NET
    Inscrit en
    Juillet 2008
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Technique BizTalk/.NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 198
    Points : 2 424
    Points
    2 424
    Par défaut
    Merci ;

    entre mon application Windows et mon service doit avoir une communication.

    vous proposez quelle technologie pour faire ça !!!

  12. #12
    Membre émérite Avatar de meziantou
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2010
    Messages
    1 223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2010
    Messages : 1 223
    Points : 2 439
    Points
    2 439
    Par défaut
    Je pense que WCF devrais faire l'affaire

  13. #13
    Membre émérite
    Avatar de azstar
    Homme Profil pro
    Architecte Technique BizTalk/.NET
    Inscrit en
    Juillet 2008
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Technique BizTalk/.NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 198
    Points : 2 424
    Points
    2 424
    Par défaut
    Désole de ne pas mentionner que je travail en framework 2

  14. #14
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    wcf est en effet arrivé avec le fx3


    .net remoting permet d'exposer des membres de classes, c'est pas simple à comprendre mais simple à mettre en place une fois compris

    socket (system.net.sockets) permet de faire transiter des octets/string, c'est plutot simple à comprendre, mais plus long à mettre en place une fois compris



    dans les 2 cas ca doit pouvoir se faire par tcp/ip (localhost) ou cannaux nommés
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  15. #15
    Membre émérite
    Avatar de azstar
    Homme Profil pro
    Architecte Technique BizTalk/.NET
    Inscrit en
    Juillet 2008
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Technique BizTalk/.NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 198
    Points : 2 424
    Points
    2 424
    Par défaut
    mais; je pose la question que par fois sur tt en XP ;par fois avant que j'ouvre mon session (lors de démarrage de WINDOWS) j'ai une message qui est messagebox me dire que j'ai une mémoire insuffisante.
    comment un service peut lance un interface graphique même avant d'avoir une session ??

  16. #16
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    tu es sur que c'est pas un message de windows pour la mémoire insuffisante ?

    sinon le service a peut etre dit à windows d'afficher le message, et windows il fait ce qu'il veut il est chez lui

    on encore windows essaye de démarrer le service, le démarrage du service plante, donc c'est celui qui lance le service (windows) qui t'affiche le message ...

    sans compter le fait qu'xp c'était le début des vrais services avec encore quelques passe droits...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  17. #17
    Membre émérite
    Avatar de azstar
    Homme Profil pro
    Architecte Technique BizTalk/.NET
    Inscrit en
    Juillet 2008
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Technique BizTalk/.NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 198
    Points : 2 424
    Points
    2 424
    Par défaut
    Xp se passe entièrement sur des services pour effectuer ces taches .
    et je pense pas que ça et propre à Windows (le message).
    le noyon de Windows ce n'est que des programmes (des processus ).
    l'interface graphique est des processus.
    qui doit être lance pour affiche une fenêtre ,ce n'est évident

    j’espère que je n'est pas dit des bitizzes

  18. #18
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    des betises je ne sais pas mais c'est illisible en tout cas !

    l'exemple des taches planifiées de windows, c'est surement un service qui s'en occupe, et l'interface pour paramétrer les taches planifiées c'est un autre programme, les 2 ayant les données en commun
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 16/08/2012, 20h21
  2. Réponses: 11
    Dernier message: 07/05/2010, 14h11
  3. Réponses: 1
    Dernier message: 18/02/2009, 16h45
  4. Réponses: 3
    Dernier message: 21/11/2006, 22h05
  5. [C#] Execution d'un fichier VBS depuis un service Windows
    Par 0r3L dans le forum Windows Forms
    Réponses: 2
    Dernier message: 10/11/2005, 22h58

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