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

MFC Discussion :

creation d'un service NT... ServiceMain les arguments??


Sujet :

MFC

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Février 2004
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 3
    Points : 1
    Points
    1
    Par défaut creation d'un service NT... ServiceMain les arguments??
    Bonjour à tous,
    ca fait donc plusieurs jour que j'essaie de comprendre comment je peux passer des arguments a mon ServiceMain lors de son démarage...

    C:\le\chemin\jusque\mon\executable\service.exe -address 10.1.205.21 -port 8080

    ma fonction :
    int ServiceMain(int argc,char* argv[])
    {


    }

    argc vaux toujours 1
    et argv = le nom de mon service ...
    ma question est donc comment je fais pour passer mes agruments -address et -port a ma fonction ServiceMain...?
    Quelqu'un qui a une idée? 8)
    merci pour votre temps..
    a+
    Julie

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    salut, ce pb a fait l'objet d'une longue recherche et quête du graal dans ce post
    http://www.developpez.net/forums/vie...140520&start=0
    le seul moyen que j'ai trouve viable c'est de passer dans le nom du service
    les argurments que l'on recuperera dans argv
    voir fonction startservice.

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Février 2004
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 3
    Points : 1
    Points
    1
    Par défaut creation d'un service NT... ServiceMain les arguments??
    merci mais il n'y aura pas un autre moyen?
    déjà j'ai cru comprendre que si j'excute mon service il rentre a chaque fois dans mon main.. puis par la fonction StartServiceCtrlDispatcher(DispatchTable) me permet de debuter ma fction ServiceMain... pour empecher que mon service s'installe plusieur fois je n'aime pas trop l'idée de change le nom du serveur web.
    Sinon j'ai vu que la fonction StartService(handle,argc,argv) pourrai permettre de donner les arguments a ma fonction ServiceMain... mais je n'arrive pas a mettre cela en oeuvre... GetLastError m'envoie un timeout comme quoi il ne trouve pas StartServiceCtrlDispatcher... je croyais que c'était la fonction StartService qui était responsable de démarrer le service...
    je suis noyée, au secours... :
    Julie

  4. #4
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    en fait je alle un peu vite et le sujet du post precedent c'etait pas tout a fait pareil (2 services identiques pour un parametrage different avec le meme exe.) tu peux faire ça sur la creation du service:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    SC_HANDLE hdlSCM = OpenSCManager(0, 0, SC_MANAGER_CREATE_SERVICE);
     
    	CString Calling = ::GetCommandLine();
    	Calling += " /mes arguments";
     
    	if (hdlSCM == 0) return ::GetLastError();
     
    	SC_HANDLE hdlServ = CreateService(
    		hdlSCM,                    // SCManager database 
    		ServiceName,               // name of service 
    		ServiceDisplayName,        // service name to display 
    		STANDARD_RIGHTS_REQUIRED,  // desired access 
    		SERVICE_WIN32_OWN_PROCESS, // service type 
    		SERVICE_DEMAND_START,      // start type 
    		SERVICE_ERROR_NORMAL,      // error control type 
    		Calling,                   // service's binary Path name
    		0,                      // no load ordering group 
    		0,                      // no tag identifier 
    		0,                      // no dependencies 
    		0,                      // LocalSystem account 
    		0);                     // no password
    tu disposes d'une variable pour specifier le chemin et rajouter des arguments derriere (variable calling)
    que tu devrais recuperer dans ton main du service.

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Février 2004
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 3
    Points : 1
    Points
    1
    Par défaut creation d'un service NT... ServiceMain les arguments??
    coucou
    ce que j'ai fais... puis dans mon main j'initialise 2 variables globales... (c'est pas tres propre mais ca marche) et puis dans mon serviceMain j'arrive a les accédées...
    merci pour ton aide et bonne continuation...
    Bisous,
    Julie

Discussions similaires

  1. Axis, creation client, Je ne peut pas passer les arguments
    Par r_asmak dans le forum Services Web
    Réponses: 7
    Dernier message: 13/10/2008, 08h41
  2. [débutant] problème avec les arguments de fopen
    Par Anouschka dans le forum C++
    Réponses: 13
    Dernier message: 23/02/2006, 14h56
  3. Comment passer les arguments à un script perl
    Par belgampaul dans le forum Langage
    Réponses: 4
    Dernier message: 06/08/2005, 12h52
  4. fonction dont les argument sont dans un dico
    Par GConstant dans le forum Général Python
    Réponses: 1
    Dernier message: 12/08/2004, 18h24
  5. [VB6] Creation d'un service en VB6
    Par WOLO Laurent dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 30/06/2004, 15h23

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