Faire ouvrir un ".exe" par un programme en c

MoiJeCreerTout Messages postés 4 Date d'inscription samedi 5 décembre 2009 Statut Membre Dernière intervention 8 décembre 2009 - 6 déc. 2009 à 23:22
katsankat Messages postés 571 Date d'inscription vendredi 30 décembre 2005 Statut Membre Dernière intervention 12 juillet 2012 - 9 déc. 2009 à 12:40
Bonjour, je recherche comment faire ouvrir un programme (google chrome) par un autre programme en c, j'ai trouver beaucoup de solution mes sa marcher pas l'or de la compilation. Qu'elle peut-il m'aider ?

8 réponses

Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
7 déc. 2009 à 08:48
Salut

Tu peux utiliser la fonction ShellExecute().
A+


____________________________________________________________________________
Logiciel en traitement de l'image gratuit et open source.
0
lural Messages postés 131 Date d'inscription samedi 6 janvier 2007 Statut Membre Dernière intervention 4 janvier 2011 2
7 déc. 2009 à 09:43
Bonjour

Tu peux aussi passer deux minutes à chercher sur google ... (et corriger tes fautes de français :P)
Par exemple : http://www.commentcamarche.net/forum/affich-6959046-executer-en-programe-externe-en-c
Je peux te rassurer, tu n'es pas le premier à vouloir faire cette manip', donc d'autres ont déjà planché sur le sujet, alors profites de leurs expériences.
Et si tu as des "solution mes sa marcher pas l'or de la compilation", alors donnes nous tes erreurs et nous t'aideront à les apprécier et à les corriger.

Bye
0
MoiJeCreerTout Messages postés 4 Date d'inscription samedi 5 décembre 2009 Statut Membre Dernière intervention 8 décembre 2009
7 déc. 2009 à 18:18
Pouvez-vous écrire le code source complais ?

Sinon j'ai trouver sa : http://www.commentcamarche.net/forum/affich-6959352-c-lancer-un-programme-silencieusement#dernier

mes quand je lance mon programme sa doit d'habitude ouvrir Google chrome (le programme que je veux ouvrir) mes il y a marquer "Google chrome.exe" n'est pas reconnu en tant que commande interne ou externe, un programme exécutable ou un fichier de commande.

qu'elle qu'un peut-il m'aider ?
0
Pistol_Pete Messages postés 1053 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
8 déc. 2009 à 08:50
Par exemple, quand je veux faire un lien sur mon site Internet, je mets
ShellExecute(hwnd, "Open", "http://ImAnalyse.free.fr", "", 0, 1);
Il ouvre le navigateur que tu utilises par défaut.
Si tu veux ouvrir chrome, il faut que lui lui passe le chemin absolu de l'exécutable de chrome
A+


____________________________________________________________________________
Logiciel en traitement de l'image gratuit et open source.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lural Messages postés 131 Date d'inscription samedi 6 janvier 2007 Statut Membre Dernière intervention 4 janvier 2011 2
8 déc. 2009 à 09:27
Bonjour,

Idem pour le couple fork/exec, tu dois donner l'adresse absolu de là où se trouve ton exécutable (probablement quelque chose du genre : c:\Program Files\Chrome ...). Ton erreur dis bien qu'il essaye de lancer un exécutable, mais qu'il ne l'a pas trouvé, tout simplement parce que si tu tapes directement "Google chrome.exe" dans un terminal (Démarrer > Exécuter > cmd) il ne sait pas de quel exécutable tu lui parles.
A défaut, donnes nous ton morceau de code qui affiche cette erreur.

Bye
PS : relis-toi un minimum avant de poster autant de fautes s'il te plait.
0
MoiJeCreerTout Messages postés 4 Date d'inscription samedi 5 décembre 2009 Statut Membre Dernière intervention 8 décembre 2009
8 déc. 2009 à 21:27
Voici mon code, à noter qu'il est inutile à par pour ouvrir Google Chrome et un texte que j'ai écrit...

#include <stdio.h>
#include <stdlib.h>


int main(int argc, char *argv[])
{
    int tuveuxquoi, manger;
    FILE* fichier = NULL;
    int caractereActuel = 0;
    int tonnom = 0;
    int nombreEntre = 0;

    printf("Qu'elle est votre nom ?");
    scanf("%d", &tonnom);
    printf("Alors...");

    printf("Bonjour %d, que veux tu faire aujourd'hui ?\n\n\n");

    printf("1.Formater ton PC ?\n");
    printf("2.Lancer google chrome ?\n");
    printf("3.Rien ?\n");
    printf("4.Lire l'histoire de mongole que ta inventer ?\n");
    printf("5.Pourquoi il y j'amait d'accent ?\n");
    printf("6.Tu veux manger qu'elle que chose ?\n");
    printf("7.Cree un fichier pour ecrire.\n\n");
    printf("8.Jouer aux micro jeu ?\n\n");
    printf("9.NE FAITE PAS SA !!!\n\n");
    printf("\n");
    scanf("%d", &tuveuxquoi);

    printf("\n");

    switch (tuveuxquoi)
  {
    case 1:
       printf("Oh ! mes vous aite malin vous didont !!!\n\n");
       printf("...\n\n\n\n");
       printf("...\n\n\n\n");
       printf("SEC PARTIE !!!\n\n\n\n\n\n\n\n\n");
       printf("FAKE !!!\n\n\n");
       break;
    case 2:
       system("C:\\Documents and Settings\\fournier\\Local Settings\\Application Data\\Google\\Chrome\\Application\\chrome.exe");
       break;
    case 3:
       printf("...");
       break;
    case 4:
       printf("Voici l'histoire du Mongole mes elle n'est pas fini.");

       fichier = fopen("Nouveau Document texte.txt", "r");

       if (fichier != NULL)
       {

       do
       {
            caractereActuel = fgetc(fichier);
            printf("%c", caractereActuel);
       } while (caractereActuel != EOF);

       fclose(fichier);
       }
       break;
    case 5:
       printf("Si on mes un accent dans la console de Windows,\nsa va faire un truc bisar, comme : écriver !");
       break;
    case 6:
         printf("Choisi se que tu veux manger :\n\n");
         printf("1. Des galettes Mexicaine\n");
         printf("2. Des galettes Bretonne\n");
         printf("3. Des hambeurger comme fais ma grand mère.\n");
         printf("4. J'ai pas faim !\n");
         printf("\nVotre choix ? ");
         scanf("%d", &manger);

         printf("\n");

         switch (manger)
         {
         case 1:
            printf("Vous avez choisi les galettes Mexicaine. Bon choix !");
            break;
         case 2:
            printf("Vous avez choisi les galettes bretonne, super !!!");
            break;
         case 3:
            printf("Vous avez choisi les Hambeurger comme fais la grand mère du logan. ");
            break;
         case 4:
            printf("Vous aimez pas mon manger s'est sa  ???!!!");
            break;
         default:
            printf("Je sais que tu veux manger qu'elle que chose,\nmes il faut ecrire un chifre.\n");
         }
       break;

    case 7:
         printf("Vous ne pouvez pas encore faire sa.");
         break;

    case 8:
         while (nombreEntre != 47645)
         {
         printf("Tapez le nombre 47645 ! ");
         scanf("%d", &nombreEntre);
         }
         break;
    case 9:
         while (1)
         {
         printf("OWNED !!!\n");
         printf("LOLILOL !!!\n");
         printf("ONCH ONCH !!!\n");
         }
         break;

    default:
    printf("Vous n'avez pas ecrit un nombre,\nsi tu veux faire quelle que chose d'autre,\nil faus relancer le programme.\n\n");
    break;
  }

    printf("\n\n");

    return 0;
}

0
MoiJeCreerTout Messages postés 4 Date d'inscription samedi 5 décembre 2009 Statut Membre Dernière intervention 8 décembre 2009
8 déc. 2009 à 21:34
pour les noms qu'il y à dans mon code je les est modifier.

Je ne m'apelle pas Fournier.

Et, peut-on éditer notre texte ?
0
katsankat Messages postés 571 Date d'inscription vendredi 30 décembre 2005 Statut Membre Dernière intervention 12 juillet 2012 3
9 déc. 2009 à 12:40
Salut,

En fait system() interprète les espaces comme un délimiteur d'arguments qui sont passés à l'exe; ainsi system("ren 1.txt 2.txt > nul") fonctionne.

Si un nom de fichier contient des espaces, il suffit d'entourer ce chemin de guillemets pour éviter ce problème:

system(""C:\\Documents and Settings\\etc\\chrome.exe"");
0
Rejoignez-nous