Prgramme qui se duplique
Fermé
dragonfiste
Messages postés
62
Date d'inscription
lundi 4 avril 2011
Statut
Membre
Dernière intervention
5 février 2013
-
5 févr. 2013 à 16:30
Hxyp Messages postés 401 Date d'inscription vendredi 28 janvier 2011 Statut Membre Dernière intervention 27 avril 2014 - 6 févr. 2013 à 11:04
Hxyp Messages postés 401 Date d'inscription vendredi 28 janvier 2011 Statut Membre Dernière intervention 27 avril 2014 - 6 févr. 2013 à 11:04
A voir également:
- Prgramme qui se duplique
- Duplique ecran - Guide
4 réponses
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
5 févr. 2013 à 16:56
5 févr. 2013 à 16:56
Elle n'existe pas dans l'ISO ou l'ANSI C, qui ne contiennent aucune fonction graphique GUI de type "clic".
dragonfiste
Messages postés
62
Date d'inscription
lundi 4 avril 2011
Statut
Membre
Dernière intervention
5 février 2013
5 févr. 2013 à 16:57
5 févr. 2013 à 16:57
C++ ou VB non plus ?
Char Snipeur
Messages postés
9813
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 298
5 févr. 2013 à 17:25
5 févr. 2013 à 17:25
ISO C++ non plus.
VB, faut voir, mais ça me parait hyper spécifique comme fonction.
VB, faut voir, mais ça me parait hyper spécifique comme fonction.
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
5 févr. 2013 à 23:58
5 févr. 2013 à 23:58
Salut dragonfiste,
T'as abandonné le C# ? ^^.
Attention entre le titre de ta demande et son contenu, c'est très différent.
Sinon pour ce que tu demandes, rien de standard en C ni en C++.
Après, cela dépend comment tu conçois la chose.
Souhaites-tu que la duplication s'effectue quel que soit l'endroit où l'utilisateur clique sur un fichier dans Windows (nécessitera du hooking) ou cela peut se faire à partir du programme (nécessitera une interface graphique dans ton programme, mais facilement faisable) ?
Cdlt,
T'as abandonné le C# ? ^^.
Attention entre le titre de ta demande et son contenu, c'est très différent.
Sinon pour ce que tu demandes, rien de standard en C ni en C++.
Après, cela dépend comment tu conçois la chose.
Souhaites-tu que la duplication s'effectue quel que soit l'endroit où l'utilisateur clique sur un fichier dans Windows (nécessitera du hooking) ou cela peut se faire à partir du programme (nécessitera une interface graphique dans ton programme, mais facilement faisable) ?
Cdlt,
Hxyp
Messages postés
401
Date d'inscription
vendredi 28 janvier 2011
Statut
Membre
Dernière intervention
27 avril 2014
54
Modifié par Hxyp le 6/02/2013 à 11:05
Modifié par Hxyp le 6/02/2013 à 11:05
Bonjour,
Je répond en fonction du titre par un exemple :
Le program va se lire de lui-même et se copier sous un autre nom en y ajoutant "x.exe" lors de son exécution.
Par rapport à "pour dupliquer un fichier quand on clique dessus" sous windows les actions sur un fichier (leur ouverture à partir d'un program etc.) se font en fonction de leur extension et ceci est indiqué dans la base de registre. Si vous voulez que par exemple un .txt se duplique en double-clickant dessus il faut indiquer leur ouverture à partir d'un programme de vôtre conception qui se charge de la duplication d'un fichier qu'il aura eu en argument (un peu comme l'exemple donné qui se duplique par son nom dans argv[0]).
Je répond en fonction du titre par un exemple :
#include <stdio.h> #include <string.h> #include <stdlib.h> int main(int argc,char *argv[]){ size_t n; char buff[256],name[1024]; FILE *a,*b; a=fopen(argv[0],"rb"); if(a){ strcpy(name,argv[0]); strcat(name,"x.exe"); b=fopen(name,"wb"); if(b){ while((n=fread(buff,sizeof(char),256,a))){ fwrite(buff,sizeof(char),256,b); } fclose(b); } else { fprintf(stderr,"err fopen b\n"); } fclose(a); } else { fprintf(stderr,"err fopen a\n"); } return 0; }
Le program va se lire de lui-même et se copier sous un autre nom en y ajoutant "x.exe" lors de son exécution.
Par rapport à "pour dupliquer un fichier quand on clique dessus" sous windows les actions sur un fichier (leur ouverture à partir d'un program etc.) se font en fonction de leur extension et ceci est indiqué dans la base de registre. Si vous voulez que par exemple un .txt se duplique en double-clickant dessus il faut indiquer leur ouverture à partir d'un programme de vôtre conception qui se charge de la duplication d'un fichier qu'il aura eu en argument (un peu comme l'exemple donné qui se duplique par son nom dans argv[0]).