Autocopy [Résolu]

Signaler
Messages postés
76
Date d'inscription
mardi 6 avril 2004
Statut
Membre
Dernière intervention
22 décembre 2012
-
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
-
Bonsoir a tous,

Quelqu'un sait il comment autocopier son .exe à un endroit bien precis ?
C'est à dire que des que je lance mon .exe il se copy dans "c:\\Monfichier.exe" par exemple.

Merci

14 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
Un simple CopyFle devrait aller.

ciao...
BruNews, MVP VC++
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
GetModuleFilename() pour avoir le nom exe.

ciao...
BruNews, MVP VC++
Messages postés
14982
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
2 mars 2021
94
Hello,
Pourquoi ne pas faire un installeur?
Je ne pense pas qu'un exe puisse se copier lui-même...

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
Bien entendu qu'il peut.

ciao...
BruNews, MVP VC++
Messages postés
14982
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
2 mars 2021
94
Ah ok...
Je ne savais pas. Merci du tuyau.

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
Messages postés
76
Date d'inscription
mardi 6 avril 2004
Statut
Membre
Dernière intervention
22 décembre 2012

CopyFile(
LPCTSTR lpExistingFileName, // address of name of an existing file
LPCTSTR lpNewFileName, // address of filename to copy to
BOOL bFailIfExists // flag for operation if file exists
);

BruNews CopyFile je connais, mais je voudrais savoir si il existe en c un equivalent de

FileCopy App.Path & "" & App.EXEName & ".exe", "C:\xxx.exe" <= Visual Basic

Merci
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
GetModuleFileName pour récupérer le chemin de ton exe

C++ (@++)<!--
Messages postés
76
Date d'inscription
mardi 6 avril 2004
Statut
Membre
Dernière intervention
22 décembre 2012

J'ai une erreur

8 E:\Dev-Cpp\main.c `GetModuleFilename' undeclared (first use this function)

j'ai pourtant inclué ces fichiers

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
Messages postés
76
Date d'inscription
mardi 6 avril 2004
Statut
Membre
Dernière intervention
22 décembre 2012

Non c'est bon sa y est sa marche merci a vous
Messages postés
1100
Date d'inscription
jeudi 24 avril 2003
Statut
Membre
Dernière intervention
17 octobre 2012
6
Bonjour,

Si ce sujet est résolu merci de récompenser ceux qui vous ont aidé en indiquant les messages qui vous ont servis.

Merci et bonne prog,
@++

Le créateur du site http://victorlogiciels.com
Messages postés
34
Date d'inscription
vendredi 10 mars 2006
Statut
Membre
Dernière intervention
14 septembre 2008

#include <stdio.h>


int main(int argc, char *argv[])
{
printf("%s", argv[0]);
getch();
return 0;
}

Ca récupère le chemin et ton exe. En plus c'est hyper-simple et c'est portable.
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
Tu vois beaucoup de progs en console sous Windows ???
C'est donc portable vers un musée, rien de plus.

ciao...
BruNews, MVP VC++
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
J'ignore pour windows mais as tu testé ce code sous linux ?

Si j'ouvre une console, que je me place dans le répertoire hôte et que je tape ./Test pour faire exécuter le programme, il m'affiche:
./Test

Si je vais dans /etc et que je tape /home/[nom utilisateur]/ProjetsC++/Test/Test

Là ça m'affiche bien
/home/[nom utilisateur]/ProjetsC++/Test/Test

Cependant, si je fais ../home/[nom utilisateur]/ProjetsC++/Test/Test
Le programme m'affiche
../home/[nom utilisateur]/ProjetsC++/Test/Test

argv[0] ne contient donc pas le chemin de l'exécutable mais la ligne de commande qui a servit à le lancer. Donc pour la portabilité, c'est comme dit brunews.

Aussi, j'en profiterais pour dire qu'il est, dans la très grande majorité du temps, inutile de poster un message sur un topic inactif depuis plus d'un an. Ils sont, pour la plupart, morts depuis longtemps.

Si j'ai repéré ce message c'est seulement à cause du petit onglet à droite qui affiche les derniers messages envoyés.

C++ (@++)<!--
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
Pardon, l'onglet n'est pas à droite mais à gauche.

C++ (@++)<!--