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

Windows Discussion :

MessageBox dans un service windows sous Seven


Sujet :

Windows

  1. #1
    Membre à l'essai
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mars 2011
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mars 2011
    Messages : 22
    Points : 23
    Points
    23
    Par défaut MessageBox dans un service windows sous Seven
    Bonjour à tous,

    Je sais bien que je vais m'attirer les foudres de tous les développeur consciencieux, mais bon, je tente quand même:
    J'aimerais afficher une MessageBox depuis un service Windows en c++.
    J'ai bien coché: "Autoriser le service à interagir avec le bureau" mais rien n'apparait sous Seven alors que ca fonctionne bien sous XP.

    Voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    int mode = MB_YESNOCANCEL;
    	mode |= MB_SERVICE;
    	int iRet = ::MessageBox(0, "rawr", "rawr", mode);
    iRet renvoie toujours 1 sous Seven alors que cette valeur n'est même pas dans le mode YESNOCANCEL...

    Vous avez une idée de choses à vérifier entre XP et Seven?

    Merci d'avance et ne m'incendier pas trop avec la morale des UI dans les services siouplait ^^

    Bonne journée!

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Cela ne peut plus fonctionner depuis Vista, les services ne sont plus autorisés à interagir avec le bureau

    Citation Envoyé par zobbyzobba Voir le message
    Merci d'avance et ne m'incendier pas trop avec la morale des UI dans les services siouplait ^^
    Non ? Bon je ne dirai rien alors
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Membre à l'essai
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mars 2011
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mars 2011
    Messages : 22
    Points : 23
    Points
    23
    Par défaut
    Citation Envoyé par ram-0000 Voir le message
    Cela ne peut plus fonctionner depuis Vista, les services ne sont plus autorisés à interagir avec le bureau


    Non ? Bon je ne dirai rien alors
    Bon si ca te démange vas-y ^^ mais j'imagine bien ce que tu vas me dire

    C'est bête alors je ne peux rien faire :/

    Merci de ta réponse !

  4. #4
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Citation Envoyé par zobbyzobba Voir le message
    C'est bête alors je ne peux rien faire :/
    Non à moins de développer une interface utilisateur qui communique avec le service (socket, pipe, mémoire partagée, ...)
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  5. #5
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 193
    Points : 28 077
    Points
    28 077
    Par défaut
    A partir de Vista, un service ne peut plus communiquer avec l'utilisateur :
    Citation Envoyé par Extrait du MSDN
    Services have always run in session 0. Before Windows Vista, the first user to log on was also assigned to session 0. Now, session 0 is reserved exclusively for services and other applications not associated with an interactive user session. (The first user to log on is connected to session 1, the second user to log on is connected to session 2, and so on.) Session 0 does not support processes that interact with the user.
    This change means that a service cannot post or send a message to an application and an application cannot send or post a message to a service. In addition, services cannot display a user interface item such as a dialog box directly. A service can use the WTSSendMessage function to display a dialog box in another session.
    Pour communiquer avec une service, il faut mettre en place un contrôleur de service, qui est une application indépendante et classique qui utilisera les API pour, à travers la banque des services, envoyer et récupérer les messages à destination ou en provenance du service.
    C'est déjà ce controleur de service qui peut servir pour créer, installer, démarrer le service.

    Tout sur les services dans le MSDN (voir service reference pour les API correspondantes) :
    http://msdn.microsoft.com/en-us/libr...=VS.85%29.aspx
    --- Sevyc64 ---

    Parce que le partage est notre force, la connaissance sera notre victoire

Discussions similaires

  1. WCF hébergé dans un service - Windows Vista
    Par Aurélien19 dans le forum Windows Communication Foundation
    Réponses: 3
    Dernier message: 11/10/2008, 14h00
  2. DBexpress dans un service windows
    Par jmmazie dans le forum Bibliothèques
    Réponses: 0
    Dernier message: 30/09/2008, 12h12
  3. lancement sqlloader dans un service Windows
    Par DrZoune dans le forum C#
    Réponses: 7
    Dernier message: 05/02/2008, 10h19
  4. Réponses: 5
    Dernier message: 28/12/2007, 09h56
  5. Ecrire dans le dossier Windows sous vista
    Par alainpeniche dans le forum Windows Vista
    Réponses: 4
    Dernier message: 07/09/2007, 00h12

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