Forums Rue-Montgallet.com
Rue-Montgallet.comRue-Hardware.comRue-Occasion.comRue-DVD.comRue-Jeuxvideo.comRue-AudioVideo.comRue-Telephone.comForums
S'inscrire | S'identifier |
| Recherche avancée | Aide
 
 

Achat - Vente Informatique : herve_94220, 1 utilisateur anonyme et 31 utilisateurs inconnus

 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet :

Lancer un exécutable par le biais du C ou du C++

 
n°11673
narsi1
Profil : Jeune recrue
Posté le 28-02-2005 à 21:11:45  profilanswer
 

:hello: Bonjour a tous...
je voudrai savoir s'il existe une fonction qui permet d'ouvrir un .exe depuis un code en C (ou C++, peu importe).
Par exemple lancer une CMD.EXE pour ensuite y entrer des commandes entrées en paramètre ou autre...
 
 :jap: Merci de bien vouloir m'aider !!
 
[SVP c'est assez urgent SVP]

n°11683
narsi1
Profil : Jeune recrue
Posté le 01-03-2005 à 13:44:02  profilanswer
 

si personne ne répond, c'est par-ce que c'est impossible ou bien personne ne sait ??
c'est bisard...
 
S'il vous plait dites moi !!!!
j'en ai besoin pour un projet, sans quoi je suis bloqué et ne pourrait le terminer... merci de votre compréhention

n°11690
ollone
Part of the 'One brothers
Profil : Vieux de la vieille
Posté le 01-03-2005 à 15:55:04  profilanswer
 

Il est certain que c'est possible.
Cherche exec(), execute(), run() :spamafote: Je ne connais pas suffisament le C...
Maintenant, tu sais les gens ne sont pas tous tout le temps dispos hein :)


---------------
C'est naturel que les filles soient plus belles, et les garçons plus cons ^^ [un peu bonobo sur les bords]
n°11691
P-Y
Profil : Vieux de la vieille
Posté le 01-03-2005 à 16:07:34  profilanswer
 

Regarde du cote de la famille de fonctions exec* (execve, execvp notamment) ;)

n°11704
narsi1
Profil : Jeune recrue
Posté le 02-03-2005 à 12:34:49  profilanswer
 

bon, en fait j'ai trouver une partie de ma réponse :
avec la fonction  
system("CMD.EXE" );
j'arrive à ouvrir la commande dos que je voulais...
maintenant, le problème est que je ne sais pas comment faire pour taper les commandes dedans (alors qu'elles seraient en paramètres dans mon code C)
je voudrai que ça le fasse automatiquement.
 
les commandes à entrer sont :
TIME (enter)
hh:mm:ss (enter)
exit (enter)
 
ces commandes sont sous forme de chaîne de caracteres
 
voilà.. dès que je sais faire ça, je ne vous embête plus :p

n°11708
ollone
Part of the 'One brothers
Profil : Vieux de la vieille
Posté le 02-03-2005 à 13:34:48  profilanswer
 

La commande à utiliser est surement identique à celle qu'on t'a indiqué ds ton précédent topic :sarcastic:

Code :
  1. command.com /c time 13:53:12


essaie de récupérer une valeur de retour pour vérifier le succès de ta commande.


---------------
C'est naturel que les filles soient plus belles, et les garçons plus cons ^^ [un peu bonobo sur les bords]
n°11710
narsi1
Profil : Jeune recrue
Posté le 02-03-2005 à 13:45:32  profilanswer
 

merci... mais le compilateur n'aime pas trop...
donc ça ne doit pas être ça...
ou bien si t'avais une explication de cette fonction, j'me pencherai dessus pour la réadapter... mais là, je sais pas quoi faire.

n°11740
podone
POD first ONE of best game
Profil : Habitué
Posté le 03-03-2005 à 22:39:45  profilanswer
 

narsi1 a écrit :

merci... mais le compilateur n'aime pas trop...
donc ça ne doit pas être ça...
ou bien si t'avais une explication de cette fonction, j'me pencherai dessus pour la réadapter... mais là, je sais pas quoi faire.


CreateProcess
CreateProcessAsUser
CreateProcessAsLogonW
Pour la ligne de commande, il faut la récupérer avant l'appel de la fonction par la fonction GetCommandLine

n°14218
POO
Profil : Jeune recrue
Posté le 19-07-2005 à 12:03:38  profilanswer
 

Bon déjà pour lancer un fichier à partir d'un programme c'est :
 

Code :
  1. char file[]="test.exe";
  2. if (system("start %s",file))
  3. cout << "Lancement du fichier : "<< file << endl;
  4. else cout << "Erreur de lancement du fichier : "<< file;


 
Ensuite pour ton problème, la commande

Code :
  1. system()


s'en occupe, par besoin de lancer cmd.exe à partir de la commande system, car elle-même est un shell DOS....
C'est comme vouloir ouvrir une pomme dans une pomme ce que tu fais :)
 
Bref tu fais un petit

Code :
  1. switch

si tu veut qu'il génère "automatiquement" (ca se dit pas pour ton programme, puisque le programme réagi selon le choix de l'utilisateur)
 

Code :
  1. enum COMMANDE {   TIME_,
  2.                   DELETE_,
  3.                   VERSION_               
  4. };      //ON PEUT ENCORE EN METTRE PLEIN  
  5. char *file;
  6. char *time;
  7. //...ensuite ta fonction dans le programme :
  8. int shell_cmd(int id){
  9.   switch(id){
  10.    
  11.     case TIME_ : cout << "Entrez la nouvelle heure : ";
  12.                  cin >> time;
  13.           system("time %s", time);
  14.                  cout << "Il est dorénavant : ";
  15.           system("time /t" );
  16.     break;
  17.     case DELETE_ : cout << "Entrer le fichier à effacer : ";
  18.                    cin >> file;
  19.           system("delete %s", file);
  20.     break;
  21.     case VERSION_ : cout "Version de votre pc : ";
  22.           system("ver" );
  23.     break;
  24.     }
  25. }


 
Il manque les conditions pour savoir si tout c'est bien passé, allez bye en espérant que ca peut vous aider ;)


Aller à :
Ajouter une réponse