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

Langage Delphi Discussion :

Passage des paramètres avec ShellExecute


Sujet :

Langage Delphi

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 36
    Points : 35
    Points
    35
    Par défaut Passage des paramètres avec ShellExecute
    Bonjour àt ous,

    Je voudrais piloter RegSvr32.exe à partir de delphi sur un fichier xxx.dll en utilisant les paramètres -u ou -c selon le cas :

    soit regSvr32.exe -u xxx.dll ,soit regSvr32.exe -c xxx.dll


    Je ne suis pas sur de savoir comment passer les paramètres -u ou -c. Quelle est la bonne idée?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ShellExecute(Handle,'open',PChar('RegSvr32.exe'),PChar('XXX.dll'),PChar('-u'),SW_SHOW);
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ShellExecute(Handle,'open',PChar('RegSvr32.exe'),PChar('-u '+'XXX.dll'),nil,SW_SHOW);
    Merci pour votre aide.

  2. #2
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 919
    Points : 6 035
    Points
    6 035
    Par défaut
    Perso, je penche pour la 2nde forme, en accord avec la http://delphi.developpez.com/faq/?pa...terapplication

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 36
    Points : 35
    Points
    35
    Par défaut
    Bonjour qi130,


    J'avais lu la faq. Et je ne sais pas justement comment l'interprêter :

    la ligne de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    function ShellExecute(hWnd: HWND; Operation, FileName, Parameters,
    Directory: PChar; ShowCmd: Integer): HINST; stdcall;
    Et ils disent ceci :

    # Parameters :
    Liste des paramètres dans le cas ou FileName désigne une application. Pour un document ou dans le cas où il n'y a pas de paramètres, mettre Nil
    Il se trouve que j'ai testé dans un programme simple les 2 solutions. Et j'ai une messagebox de windows qui me renvoie .dll traitée. A croire que les 2 solutions fonctionnent.
    Le problème c'est que je ne peux pas vérifier s'il a bien pris en comte les paramètres dans les 2 cas.

    Et j'ai cherché sous google, je n'ai pas trouvé d'exemple concret. Tous les cas que j'ai vu vu sont sans commutateur. Je vais essayer de rechercher à nouveau.

  4. #4
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Salut,

    Citation Envoyé par qi130 Voir le message
    Perso, je penche pour la 2nde forme, en accord avec la http://delphi.developpez.com/faq/?pa...terapplication
    J'approuve également.
    Regarde cette discussion. J'avais aussi utiliser les paramètres.

    Le Paramètre Directory sert à indiquer où le programme donc se positionner si je puis dire ainsi.
    Pour t'en convaincre, fait se test avec cmd :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      ShellExecute(0,'OPEN','cmd.exe',nil,'C:\',SW_NORMAL);
    end;
    Ca t'ouvrira une console sur C:\ directement


    En espérant avoir éclairé ta lanterne
    @+, Ero-Sennin

  5. #5
    Expert confirmé

    Profil pro
    Leader Technique
    Inscrit en
    Juin 2005
    Messages
    1 756
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Leader Technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 756
    Points : 4 173
    Points
    4 173
    Par défaut
    soit regSvr32.exe -u xxx.dll ,soit regSvr32.exe -c xxx.dll
    C'est quoi le paramètre -c ?

    Mon regsvr32 me dit qu'il reconnait les paramètres /i /u /s et /n, mais pas /c.

    Pour savoir si la commande a marché normalement c'est assez simple. Si tu ne précises pas /s, regsvr32 va t'afficher un message pour dire que l'enregistrement c'est bien passé (avec /i) ou que la désinstallation c'est bien passée (/u).

    Si tu as autre chose, c'est plutôt que ça n'a pas marché.

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 36
    Points : 35
    Points
    35
    Par défaut
    Tu as raison je pense. J'ai vu cela dans une aide mais la personne a dû se trompe j'imagine.
    J'ai remis /i et /u partout.
    Merci à toi pour ta vigilance.

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

Discussions similaires

  1. problème avec passage des paramètres
    Par soumti84 dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 03/08/2009, 12h03
  2. Réponses: 2
    Dernier message: 23/05/2008, 15h06
  3. Comment faire pour le passage des paramètres
    Par dauphin34000 dans le forum Oracle
    Réponses: 14
    Dernier message: 25/04/2006, 14h18
  4. [EJB] Passage des paramètres par référence
    Par salome dans le forum Java EE
    Réponses: 2
    Dernier message: 05/07/2005, 11h25
  5. Récupération des paramètres avec une procedure stockée
    Par samlerouge dans le forum Bases de données
    Réponses: 2
    Dernier message: 31/03/2004, 22h00

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