begin process at 2012 05 28 22:20:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

System

 > 

Connaitre le chemin


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Connaitre le chemin

mercredi 13 décembre 2006 à 00:13:01 | Connaitre le chemin

ipascual

Bonjour a tous,


Je suis en train de construir un programme en C++, et j`aimerais pouvoir lancer a partir de mon programme des fichiers executables. Les fichiers executables que je cree, ils ne posent aucun probleme, car je peux les lancer :
                                                                        char fichier[]="C:\\Debug\\monprogramme.exe";
                                                                        system(fichier);


Le probleme se pose quand je ne connais pas le chemin, je connais just le nom de l`executable a lancer. Je crois me souvenir qu `il y avait un code qui donnait le chemin absolu d`un executable. Mais j`arrive pas a le trouver...pourriez vous m`aider a trouver la solution?


Merci d`avance...


Ignasi
mercredi 13 décembre 2006 à 00:37:49 | Re : Connaitre le chemin

SAKingdom

Membre Club
char buffer[256]; // <- Contiendra le chemin complet du processus courant
GetModuleFileName(0, buffer, 256);

C++ (@++)

mercredi 13 décembre 2006 à 00:45:30 | Re : Connaitre le chemin

SAKingdom

Membre Club
Si tu veux avoir le chemin complet d'un autre programme que le tien avec seulement son nom, il faut faire une recherche sur le disque. Regarde du coté de:
FindFirstFile
FindNextFile

C++ (@++)

mercredi 13 décembre 2006 à 00:46:03 | Re : Connaitre le chemin

ipascual

Rebonjour,


en fait j`aimerais savoir le chemin complet d`un processus determine (pas le courant), comme par exemple, le chemin de firefox.exe, pour apres pouvoir le lancer. (mon systeme explotation est Windows)


Merci d`avance,
mercredi 13 décembre 2006 à 00:49:44 | Re : Connaitre le chemin

ipascual

En fait, j`ai deja essayé avec ça...mais il ne marche pas. Aurais tu un exemple par hazard?


Merci d`avance
mercredi 13 décembre 2006 à 00:59:36 | Re : Connaitre le chemin

SAKingdom

Membre Club
FINDFILE
RECHERCHER-FICHIER-SUR-DISQUE-DUR <- Exemple très simple
NENGINE

C++ (@++)

mercredi 13 décembre 2006 à 08:38:43 | Re : Connaitre le chemin

yoyo269

Membre Club
Réponse acceptée !
Salut ipascual,

si tu cherches le chemin complet d'un programme qui a été installé, tu pourras peut-être t'en sortir avec la base de registre.
Sinon comme l'a dit SAKingdom, il y a la recherche sur le disque.
Voici une de mes sources à ce sujet : (assez simple aussi et rapide)

SCANNER DE DISQUES (RECURSIF)

Si tu as besoin d'aide pour ma source je suis là ya pas de souci

YOYO, @+.

"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"

mercredi 13 décembre 2006 à 18:07:47 | Re : Connaitre le chemin

ipascual

Bonjour,

Merci d`avance pour tout votre aide...Mais j`ai plein de questions


1) Qu`est ce-que c`est la base de registre? Comment je pourrais l`utiliser pour trouver ma solution?

Dans l`exemple pour Scanner de disques..en fait c`est une super source, qui marche tres bien , merci :D. Mais j`aimerais quand meme comprendre deux choses...

     I)J`arrive pas a voir l`utilité de la condition de la source

        21.-  if
(!(Nom[0] == '.' && !Nom[1]) && !(Nom[0] == '.' && Nom[1] == '.' && !Nom[2]))

Et puis...pourquoi on appelle encore une fois la fonction ? On appelle une fonction dans sa fonction?Serait un peu comme un GOTO ?
Alors, l`utilité de la boucle do-while? Le programme parcourt le disque, mais j`arrive pas a voir comment....


Merci d`avance



mercredi 13 décembre 2006 à 18:50:59 | Re : Connaitre le chemin

ipascual

Et une derniere question....ceci nous permet de tracer les dossiers, mais par exemple, si on voulait trouver le chemin complet de  firefox.exe, ou est-ce qu`il faudrait l`indiquer?


mercredi 13 décembre 2006 à 18:52:59 | Re : Connaitre le chemin

yoyo269

Membre Club
Salut ipascual,

si tu ne connais pas la base de registre de windows, il va falloir que tu cherches des infos sur le sujet parce que c'est un endroit à ne pas négliger sous windows à mon avis (ça vaut ce que ça vaut ).
Pour t'en servir, tu trouveras pleins de sources sur le site qui te montreront comment s'en servir.

Pour ce qui est de la source, dans chaque dossier ouvert (par le code pas l'explorer windows), tu as en premier dans la liste le dossier nommé . (dossier courant) et en deuxième le dossier .. (dossier parent).
Cette condition sert donc à les négliger (comme ce qui est fait dans l'explorer de windows, ils ne sont pas affiché).

Maintenant la fonction qui s'appelle elle-même, on appelle ça la récursivité. Cette technique (quand elle peut s'appliquer), donne des fonctions souvent très courtes.
Je vais essayer de t'expliquer comment cela fonctionne.
Imagine tout d'abord la même fonction sans qu'elle ne s'appelle elle-même.
Et bien sans celà, la fonction énumère un à un (sans les afficher), tous les dossiers se trouvant dans le dossier que tu as donné en argument à la fonction.
Et sur le même principe, je rajoute l'appel à la même fonction pour qu'à dossier trouvé dans le dossier parent, on aille regardé tous les dossiers qui s'y trouvent et ainsi de suite.
C'est pas forcément évident à la première lecture, je le comprend très bien.

Si tu veux essayer sur un exemple simple, appelle la fonction avec un dossier contenant lui même quelques dossiers qui eux mêmes ont des dossiers. Et là où il y a le commentaire, mets ceci :

MessageBox(NULL, DossRech, "Dossier qui va être scruté", 0);
sleep(1000);

J'espère avoir été assez clair. Tiens-moi au courant.

YOYO, @+.

"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"


1 2

Cette discussion est classée dans : programme, lancer, fichiers, chemin, connaitre


Répondre à ce message

Sujets en rapport avec ce message

Lancer un programme et connaitre son Handle [ par highcobra ] Bonjour, je souhaiterais executer un programme externe et récupérer le handle de celui-ci afin de lui envoyer des messages par la suite. Merci pour vo lancer "exe" de mon programme. [ par grandebutant ] svp ! Grands seigneurs de la programmation !Que dois-je faire pour lancer de mon programme un "exe" qui ne soit pas une commande dos.Merci vos seigneu lancer un programme :: erreur !!! [ par FLOPPY ] je voudrais savoir que me renvoie ShellExecute(NULL, NULL,"progalancer.exe", NULL, NULL, SW_HIDE)en cas d'erreurmerci d'avance !:D Chemin actuel [ par victorcoasne ] Comment savoir l'emplace où est le programme en execution+Clair : Je veux un code qu'on met dans un programme et qui me dis qd le prog est executé où transfert de fichiers sous linux [ par lyas ] Salut,Je suis debutante en programation reseau et je voudrais transferer des fichiers via un serveur sous linux.j'ai reperé un programme posté par se Manipulation de grands fichiers [ par jb60 ] Bonjour, c'est encore moi ;-)Je me demande si lorsque l'on manipule un grand fichier (plusieurs Mo, voir même plusieurs Go) on peut mettre toutes les Lecture d'un fichier [ par Ombitious_Developper ] salut:J'ai écrit un programme C qui lit le contenu d'un fichier donné.Le programme tourne bien avec les fichiers (*.txt) mais c'est ne pas le cas a Execution indépendantes de deux programmes [ par Telepathmaster ] Bonjour,Je voudrais pouvoir, depuis un de mes programmes, en lancer un autre qui soit indépendant du premier. Car, pour l'instant, j'ai essayé en lanç comment lancer un programme externe [ par dams05 ] salut je voudrais savoir coment lancer un programme externe comme un jeux ou un truc comme ça avec une console d'aplication HANDLE de fichiers [ par vecchio56 ] Salut J'ai un programme qui travaille sur des fichiers, et l'utilisateur peut enregistrer le fichier quand il le veut. La question que je me pose est


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,498 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales