Sauvegarde des fichiers system ?

chtitpierre78 Messages postés 30 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 29 décembre 2008 - 4 déc. 2008 à 14:08
chtitpierre78 Messages postés 30 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 29 décembre 2008 - 5 déc. 2008 à 15:02
Bonjour,

Je développe une petite application en C++  qui me permet de sauvegarder différents fichiers situés sur mon PC. (windows XP, mais le programme doit etre capable d efaire la meme chose sous NT, ... ). La plupart de ces fichiers ne posent aucun problème, ils se laissent manipuler et copier sans aucun soucis via la commande CopyFile(). Mon soucis vient du fait que certains fichiers sont des fichiers systèmes. Par exemple :

C:\WINDOWS\system32\config\SOFTWARE
C:\WINDOWS\system32\config\SECURITY
...

Malheureusement, ces fichiers sont utilisés par un processus lorsque l'on tourne sous windows,  et je n'arrive pas à les copier. J'ai donc penser à lancer mon programme de sauvegarde à la fermeture de windows, mais ca ne fonctionne pas. Meme chose à l'ouverture. Je ne sait plus trop vers quoi m'orienter ... avez vous une idée qui me permettrait de resoudre ce probléme ?

Cordialement
K. Pierre

2 réponses

chtitpierre78 Messages postés 30 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 29 décembre 2008
5 déc. 2008 à 09:49
Re-Bonjour,

J'ai pensé à exécuter mon programme de la même manière que windows utilise son chkdsk. C'est à dire, au tout début de l'allumage du PC. Est-ce possible ? Si oui, comment ? A defaut, ais-je une autre solution pour sauver ces fichiers ? Et, est-ce que sauver ma base de registre reviens à faire la meme chose que copier ces fichiers system ?

Cordialement
K. Pierre
0
chtitpierre78 Messages postés 30 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 29 décembre 2008
5 déc. 2008 à 15:02
Re-Re-Bonjour,

Je vous fait part de mon avancement (si on peut dire ca ...). Après recherche, j'ai donc trouvé une fonction sympa en C++ :

MoveFileEx(src,dest,MOVEFILE_DELAY_UNTIL_REBOOT)

Ça fonctionne très bien, le fichier est déplacé après le reboot. Mais le soucis c'est que comme son nom l'indique, cette fonction DEPLACE, mais ne COPIE pas ! J'ai quand même testé, au final, j'ai bien déplacé mon fichier C:\WINDOWS\system32\config\SYSTEM dans un repertoire de test C:\TEST. Bon, certe, écran bleu au demarrage de Windows, mais en repassant sous linux, j'ai pu tout remettre en place, pour finallement me retrouver au meme point ... ! "Regarde la fonction CopyFileEx" me dirait vous ! Oui, mais cette fonction là ne marche pas sous Windows XP.

En esperant que ce monologue ne dure pas eternellement, je vous souhaites une bonne journée.

Cordialement
K. Pierre
0
Rejoignez-nous