Problème programme Auto-Paste

Résolu
F0rEign Messages postés 57 Date d'inscription vendredi 22 mars 2013 Statut Membre Dernière intervention 6 septembre 2016 - Modifié par NicolasBuchot le 5/03/2016 à 22:13
F0rEign Messages postés 57 Date d'inscription vendredi 22 mars 2013 Statut Membre Dernière intervention 6 septembre 2016 - 8 mars 2016 à 17:37
Bonsoir, je suis sur Codeblocks en langage C++ et j'ai conçu un programme pour mon frère, qui permet de copier coller chaque fichier et dossier qui rentre dans le dossier BBS - Elements (F) dans le dossier BBS - Elements (D)
Le problème c'est que je n'ai absolument aucune idée comment on peut faire pour copier-coller dans un dossier quand un fichier ou un dossier rentre dans un autre dossier (désolé des répétitions, posez moi des questions si vous comprenez pas)

J'ai créer une fonction pasteFonction qui doit contenir le système de copiage-collage.

Donc c'est d'ailleurs pour ça que je fais appel à ce site.
Je voudrais que vous fassiez ça ou juste m'expliquer. Merci d'avance.
Les nom des dossiers sont BBS - Elements (D) et BBS - Elements (F)
Leurs destinations sont F:\BUREAU BACKUP SAVE et D:\BUREAU BACKUP SAVE

Voici le code :


#include <iostream>
#include <stdlib.h>
#include <string>
#include <windows.h>
#include <iostream>
#include <fstream>

using namespace std;

double versionProg2(1.1);


void pasteFonction(void)
{



}

void options(void)
{
cout << " Vous voici sur mon programme Auto-Paste " << endl;
cout << " Ce programme est actuellement en version " << versionProg2 << endl;
cout << " Ce programme a ete creee par F0rEign " << endl;
cout << " ------------------------------------------- " << endl;
cout << " Auto-Paste est un programme permettant de copier-coller " << endl;
cout << " un fichier ou un dossier dans un autre dossier automatiquement " << endl;
cout << " ------------------------------------------- " << endl;
cout << " Me contacter : nicolas.buchot@hotmail.fr " << endl;
cout << " ------------------------------------------- " << endl;
cout << " 1.Retour Menu " << endl;
cout << " 2.Quitter " << endl;
int leave;
cin >> leave;
if (leave == 1)
{

}
else if (leave == 2)
{
cout << " Au revoir " << endl;
Sleep(2000);
}

}

int main(void)
{
system("color 1e");
cout << " Auto-Paste V." << versionProg2 << " By F0rEign " << endl;
cout << " voulez vous vraiment copier-coller le dernier dossier/fichier ?" << endl;
cout << " Repondez par chiffre " << endl;
cout << " 1.Oui " << endl;
cout << " 2.Non " << endl;
cout << " --------" << endl;
cout << " 3.Options " << endl;
cout << " 4.Quitter " << endl;
int yesNo;
cin >> yesNo;
if (yesNo == 1)
{
cout << " Copier-coller du dernier fichier/dossier confirmer " << endl;
cout << " Initialisations des flux... " << endl;
Sleep(3500);
pasteFonction();

}
else if (yesNo == 2)
{
cout << " Copier-coller du fichier/dossier annuler " << endl;
cout << " Au revoir " << endl;
Sleep(2000);


}
else if (yesNo == 3)
{
options();
}
else if (yesNo == 4)
{
cout << " Au revoir " << endl;
Sleep(2000);
}
return 0;
}

5 réponses

cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
6 mars 2016 à 14:01
Bonjour.

Ce n'est pas du C++, mais de l'API Windows que tu cherches à faire. Il faut donc regarder la doc de Windows, notamment la "msdn", qui est un site décrivant les fonctions fournies par Windows pour interagir avec lui.

Ce que tu cherches c'est être notifié quand il y a un changement dans un dossier afin de lancer un copier-coller. Sous Linux, on utilise la fonction du même nom: inotify. Sous Windows, je connais moins bien, mais d'après la doc, il faudrait utiliser "FindFirstChangeNotification" dont la documentation est ici: https://msdn.microsoft.com/en-us/library/aa364417%28VS.85%29.aspx

Un exemple est donné là: https://msdn.microsoft.com/en-us/library/aa365261%28v=vs.85%29.aspx

Ensuite pour copier-coller un dossier, tu peux regarder ici: http://stackoverflow.com/questions/4725115/on-windows-is-there-an-interface-for-copying-folders

PS:
0
F0rEign Messages postés 57 Date d'inscription vendredi 22 mars 2013 Statut Membre Dernière intervention 6 septembre 2016
Modifié par NicolasBuchot le 6/03/2016 à 15:15
D'accord merci de ta réponse :p

Ce qui voudrait dire que la fonction FindFirstChangeNotification est composé principalement de ce code là ?


HANDLE WINAPI FindFirstChangeNotification(
_In_ LPCTSTR lpPathName,
_In_ BOOL bWatchSubtree,
_In_ DWORD dwNotifyFilter
);
0
F0rEign Messages postés 57 Date d'inscription vendredi 22 mars 2013 Statut Membre Dernière intervention 6 septembre 2016
6 mars 2016 à 15:59
Désolé si je pose beaucoup de questions mais c'est parceque je n'ai jamais utilisé la documentation de windows mais si j'y arrive une fois j'y arriverais plusieurs fois par la suite. C'est juste que je suis un peu perdu
0
cs_louis14 Messages postés 793 Date d'inscription mardi 8 juillet 2003 Statut Membre Dernière intervention 10 février 2021 8
Modifié par cptpingu le 8/03/2016 à 15:02
Bonjour,
en complément de la réponse précédente tu trouveras un exemple d'utilisation dans MSDN à cette adresse: https://msdn.microsoft.com/fr-fr/library/windows/desktop/aa365261(v=vs.85).aspx.
Sinon cptpingu a donné toutes les informations utiles.
Bon codage
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
F0rEign Messages postés 57 Date d'inscription vendredi 22 mars 2013 Statut Membre Dernière intervention 6 septembre 2016
8 mars 2016 à 17:37
Bonjour, merci pour le lien ça m'aideras beaucoup.
0
Rejoignez-nous