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

 Delphi Discussion :

Commande dos avec Delphi


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 582
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 582
    Par défaut Commande dos avec Delphi
    Bonjour à toutes et à tous,

    Malgré la discussion pour une commande "Dos", je n'arrive pas a exécuter cette commande avec "Shellexecute".

    Manuellement en tapant dans "Executer" cette commande : cmd /k ipconfig

    cela fonctionne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    ShellExecute(0,'OPEN','cmd /k ipconfig',nil,nil,SW_SHOWMAXIMIZED);
    Quelqu'un a une idée, merci d'avance.

    @+,

    Cincap

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 582
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 582
    Par défaut
    Désolé, j'ai trouvé.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    const
    CmdSwitchs : array [0..1] of String = ('/c ', '/k ');
     
    procedure TFServer.BipconfigClick(Sender: TObject);
    Var
    aCmdLine : PChar;
    begin
    aCmdLine := PChar(cmdSwitch + ' /k ipconfig');
     
    ShellExecute(Handle, nil, 'CMD', aCmdLine, nil, sw_ShowNormal);
     
    end;
    @+,

    Cincap

  3. #3
    Membre Expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 509
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 509
    Par défaut
    Bonjour,

    cela fonctionne avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    procedure TFServer.BipconfigClick(Sender: TObject);Var
       aCmdLine : PChar;
    Begin
       aCmdLine := PChar(' /k ipconfig');
       ShellExecute(Handle, nil, 'CMD', aCmdLine, nil, sw_ShowNormal);
    End;
    dans ton code cmdSwitch n'est pas défini et ne sert pas ?

    A+ Charly

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 582
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 582
    Par défaut
    @ Charly910,

    Bien vu, j'ai testé mais le problème c'est que je voulais faire un print screen de la fenêtre "Dos" et puis la fermer et la problème même en utilisant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    aCmdLine := PChar(' /k "start /wait ipconfig&&Exit"');
       ShellExecute(Handle, nil, 'CMD', aCmdLine, nil, sw_ShowNormal);
    En effet la fenêtre se ferme trop vite avant le printscreen. de celle ci

    As tu une idée si c'est faisable.

    @+,

    Cincap

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 582
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 582
    Par défaut
    Bonsoir,

    Ok, ce topic est bien terminé.

    Je récupère le handle de la fenêtre dos avant le printscreen puis je le termine par la récupération du message (WM_Close).

    @+,

    Cincap

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

Discussions similaires

  1. Exécuter une commande DOS
    Par Bourak dans le forum Delphi
    Réponses: 9
    Dernier message: 02/08/2016, 11h15
  2. Réponses: 2
    Dernier message: 13/06/2008, 19h15
  3. Réponses: 12
    Dernier message: 05/04/2007, 15h18
  4. Commande dos avec paramètres à partir d'excel
    Par tieumss dans le forum Access
    Réponses: 4
    Dernier message: 19/09/2006, 11h23
  5. [API][Système] Executer une commande dos avec arguments
    Par oOoOuuhmAn dans le forum Général Java
    Réponses: 4
    Dernier message: 17/03/2006, 12h37

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