Execution de programmes via le langage C .

Résolu
Bonjour,

Je suis nouveaux sur ce forum et je sollicite votre aide . Je vais être clair et irais droit au but.

Mon problème :
- Comment, et par quelle fonction en C puis je lancer différentes application installées sur mon PC ?

Exemple :

Une demande de saisie d'un mot, ce mot est enregistré dans une variable puis analyser et en fonction du mot ( qui correspond enfaite au nom d'un programme tel : la Calculatrice Windows ) et réussir à ce que le programme exécute la Calculatrice si la variable correspond à : Calculatrice .

J'ai déjà arpenté une multitude de forum et je m'en remet à vous n'ayant plus d'idées .

Merci d'avance :) .
Treflot

2 réponses

  1. Salut

    via fork() et la famille des exec* (ex: execve) ou sinon system() mais bon c'est moin propre ;)
    1. Ah j'ai oublier... sous quel OS?
    2. Sous Windows Xp :)
  2. Je te remercie de ta réponse si rapide et j'ai tout de suite essayer la commande : system().

    Mais je ne sais pas comment l'utiliser, j'ai tenter celà :
    system("calculatrice.exe");


    mais j'obtient un message comme quoi "calculatrice " n'est pas reconnu comme fonction interne ou externe. Ou est mon erreur :O ?
    1. deux choses.

      d'une part, il faut que tu connaisses le nom correct de tes programmes.

      il me semble bien que la calculatrice de windows s'appelle "calc.exe". tu peux vérifier en regardant dans le dossier d'installation Windows. (ou clic-droit sur le raccourci dans le menu démarrer, puis propriétés)

      d'autre part, il faut, pour certains programmes, préciser le chemin d'accès complet.

      certains n'ont pas besoin, en fait ceux qui n'ont pas besoin de ça sont ceux dont le répertoire est dans la variable d'environnement "PATH" (visible, il me semble, allant dans panneau de configuration -> système ->(qqchose) -> Variables d'environnement.)

      les répertoire Windows est dans le PATH en principe, donc ça devrait être bon.
    2. Je te remercie =D !! Explication très clair et parfaite !! :)

      Merci encore !!

      Treflot
    3. de rien !

      n'oublie pas de mettre ton sujet en résolu, si c'est le cas.