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

C++Builder Discussion :

Comment lancer un executable sur un evénement OnclickButton [FAQ]


Sujet :

C++Builder

  1. #1
    Membre éprouvé
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2005
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 86
    Par défaut Comment lancer un executable sur un evénement OnclickButton
    Bonjour tout le monde je souhaute lancer une application "Projet1" on cliquant sur un bouton1 que j'ai crée dans une autre application que je suis entrain de créer:

    Evénement onClickbouton1:
    {
    lancer "Projet1.exe"
    }
    coment peut on faire ça,,,, j'ai cherche longtemps mais pas de chance....

    Merci d'avance.

  2. #2
    Membre Expert
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268

  3. #3
    Membre éprouvé
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2005
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 86
    Par défaut Ca marche pas tout à fait!!!!
    D 'abord merci pour la reponse,,,,

    Bon j'ai essayé la fonction :

    ShellExecute(NULL, // Handle de la fenêtre parent
    "open", // Action à effectuer
    "Projet1.exe", // Fichier
    "", // Paramètres
    "", // Répertoire par défaut
    SW_SHOWDEFAULT // Manière d'afficher
    );
    Mais il n'a y rien qui se passe, par contre en prenant l'exemple de Notepad, ça marche trés bien????
    sur l'aide en ligne de builder c pareil, il renseingent les parametres ,mais rien de spécial.???

  4. #4
    Membre Expert
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Par défaut
    Il faut que tu passes le chemin complet de ton exécutable.

  5. #5
    Membre éprouvé
    Avatar de Freeze
    Homme Profil pro
    Inscrit en
    Octobre 2002
    Messages
    131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 131
    Par défaut
    ou alors :

    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
    23
    24
    25
    26
    27
    28
    29
     
    void ExecuteLigneCommande(AnsiString lignecommande)
    {
       Screen->Cursor=crHourGlass;
     
       STARTUPINFO si;
       DWORD FilsStatus;
       char c[200];
       PROCESS_INFORMATION pi;
       memset(&si,0,sizeof(STARTUPINFO));
       si.cb=sizeof(STARTUPINFO);
     
       try
       {
          if (CreateProcess(NULL,lignecommande.c_str(),NULL,NULL,FALSE,NULL,NULL,NULL,&si,&pi))
          {
             // cette partie est à mettre ou à ne pas mettre selon qu'on veuille ou pas attendre la fin du process
             do
             {
                Sleep(50);
                Application->ProcessMessages();
                GetExitCodeProcess(pi.hProcess,(LPDWORD)&FilsStatus);
             }  while(FilsStatus==STILL_ACTIVE);
          }
       }
       catch (...) {}
     
       Screen->Cursor=crDefault;
    }

  6. #6
    Membre éprouvé
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2005
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 86
    Par défaut Comment exécuter un programme externe ?????
    en mettant ces lignes aussi il n'a y rien qui marche????

    ShellExecute(NULL, // Handle de la fenêtre parent
    "open", // Action à effectuer
    "c:\mes deocument\test\Projet1.exe", // Fichier
    "", // Paramètres
    "", // Répertoire par défaut
    SW_SHOWDEFAULT // Manière d'afficher
    );

    je vois pas d'ou il vien le problème.???

  7. #7
    Membre Expert
    Avatar de bakaneko
    Profil pro
    Inscrit en
    Février 2004
    Messages
    1 268
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 1 268
    Par défaut
    En C++, le caractère \ sert à préciser un caractère de controle (pas exemple \n pour une fin de chaine). Tu dois donc les doubler dans ton code pour préciser un chemin.

    Tu obtiens donc:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ShellExecute(NULL,"open","c:\\mes documents\\test\\Projet1.exe",NULL,NULL,SW_SHOWDEFAULT);
    Nb: penses aux balises codes la prochaine fois.

  8. #8
    Membre confirmé Avatar de Poilou
    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 59
    Par défaut Re: Comment exécuter un programme externe ?????
    Citation Envoyé par awane
    ShellExecute(NULL, // Handle de la fenêtre parent
    "open", // Action à effectuer
    "c:\mes deocument\test\Projet1.exe", // Fichier
    "", // Paramètres
    "", // Répertoire par défaut
    SW_SHOWDEFAULT // Manière d'afficher
    );
    Je pense que tu as fait une erreur de frappe sur Mes Documents...
    De plus, j'espere que ton projet ne se situe pas dans le répertoire Mes documents de Windows car, dans ce cas la, ca ne sera pas le bon chemin...

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 25/04/2006, 11h14
  2. [C#] Comment lancer un executable ?
    Par FraktaL dans le forum C#
    Réponses: 3
    Dernier message: 08/02/2006, 12h38
  3. Comment lancer cette fonction sur un bouton ?
    Par jeronimo dans le forum Access
    Réponses: 2
    Dernier message: 26/01/2006, 11h33
  4. Réponses: 2
    Dernier message: 14/01/2006, 09h12
  5. Réponses: 2
    Dernier message: 22/04/2004, 13h28

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