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
Bonjour,


voila pour faire simple , quel est la fonction en c pour dupliquer un fichier quand on clique dessus.
genre je veux creer un fichier A quand je clique dessus il se duplique.

merci d'avance
A voir également:

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
Elle n'existe pas dans l'ISO ou l'ANSI C, qui ne contiennent aucune fonction graphique GUI de type "clic".
0
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
C++ ou VB non plus ?
0
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
ISO C++ non plus.
VB, faut voir, mais ça me parait hyper spécifique comme fonction.
0
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
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,
0
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
Bonjour,
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]).
0