Accueil > Forum > > > > Lire un fichier utilisé par un autre processus
Lire un fichier utilisé par un autre processus
mercredi 22 avril 2009 à 14:37:01 |
Lire un fichier utilisé par un autre processus

sinfoni
|
Hello tous, Tout est dans le titre: Je cherche à lire un fichier en cours d'utilisation par l'OS (verrouillé en lecture-écriture) pour en faire une sauvegarde. Cela est forcément possible puisque les programmes "clôneurs" y parviennent. Comment...  là est la question. Merci.
|
|
mercredi 22 avril 2009 à 15:06:33 |
Re : Lire un fichier utilisé par un autre processus

jcema
|
Je sais que tu préférerais le programmer toi-même mais cette petite application fais bien le travail : http://ccollomb.free.fr/unlocker/
Marcel
|
|
mercredi 22 avril 2009 à 17:44:48 |
Re : Lire un fichier utilisé par un autre processus

Bacterius
|
Euh quand un fichier est ouvert avec SHARE_EXCLUSIVE ou un flag du genre, le processus appellant dénie tout accès à ce fichier, même depuis ce même processus. OpenFile renverra systématiquement HFILE_ERROR sur ce fichier. Mais peut-être que certaines API peuvent permettre de lire un petit bout du fichier, puis lire le bout suivant, etc ... Pourquoi pas MapViewOfFile (puis UnMapViewOfFile). Ou alors lire la mémoire du processus, mais je ne pense pas que cela soit réalisable comme ceci.
Bref, ça a l'air assez dur à faire, ce que tu nous dis là.
@jcema : Le lien que tu passes parle d'une application qui kill un processus qui utilise ce fichier, pour pouvoir le lire tranquillement. Je ne suis pas sûr que ce soit la meilleure technique ... Enfin ça dépend l'usage que l'on veut en faire evidemment ...
Cordialement, Bacterius !
|
|
mercredi 22 avril 2009 à 18:09:24 |
Re : Lire un fichier utilisé par un autre processus

sinfoni
|
Merci,
Effectivement, unlocker... ce n'est pas vraiment ce que je cherche. Cette histoire de fichier "locké" m'intrigue pour 2 raisons:
Il existe des programmes capables de faire de la copie de fichier en "mode bloc". Exemple: soft de sauvegarde en ligne. Typiquement, j'ai un fichier outlook.pst de 1 Go, et le soft est non seulement capable de me sauvegarder ce PST alors qu'il est en cours d'utilisation par Outlook (et j'ai testé la restauration, ça marche !), mais il ne me sauvegarde QUE les octets modifiés, soit quelque Mo au lieu de balancer le Go entier.
Des Softs comme XxClone sont capables de cloner un disque système alors que l'OS tourne et que ce même OS verrouille nombre de fichiers. Et xxclone travaille bien en mode fichier, il ne fait pas de copie de secteurs puisqu'on peut cloner d'une partition vers une partition plus petite (tant que la taille des fichiers n'excède pas la taille de la partitino cible bien sûr !) et fait même de l'incrémental au niveau fichier (mise à jour de clone rapide car ne reprend que les fichiers modifiés).
Donc c'est forcément possible non ? En trouvant les blocs physiques sur le HD correspondant au fichier puis en faisant un lecture directe des blocs bit à bit ?
Merci. ps: attention, je parle bien de xxclone (avec 2 "x") et non de xclone....
|
|
mercredi 22 avril 2009 à 18:14:10 |
Re : Lire un fichier utilisé par un autre processus

Miquel75
|
Ca a été expliqué des milliers de fois sur google groups depuis 18 ans.... On ferme le hande remotely et on fait ce que l'on veut.
|
|
mercredi 22 avril 2009 à 18:40:25 |
Re : Lire un fichier utilisé par un autre processus

Bacterius
|
Je suis désolé Miquel75 mais ce n'est pas une bonne manipulation. En faisant ça tu prives le processus de son accès au fichier, et si il l'utilise pour une opération critique, ça peut conduire à la fermeture de ce processus, et parfois à des dommages matériels. Si c'est bien ce que tu entends par "fermer le handle de fichier d'un processus A depuis un processus B".
Cordialement, Bacterius !
|
|
mercredi 22 avril 2009 à 18:46:32 |
Re : Lire un fichier utilisé par un autre processus

Bacterius
|
Et puis c'est pas très poli ni très professionnel tout ça ... Je serais une application, j'aimerais pas qu'on m'arrache mon descripteur de fichier des mains ...
Cordialement, Bacterius !
|
|
jeudi 23 avril 2009 à 09:17:37 |
Re : Lire un fichier utilisé par un autre processus

sinfoni
|
Tout à fait d'accord avec Bacterius sur le fond. Le processus qui bloque mon fichier est un processus windows, hors de question de le brutaliser !
(Quant à la forme "Ca a été expliqué des milliers de fois sur google groups depuis 18 ans....", c'est pas top non plus. Tous les utilisateurs de ce forum ne développent pas 16H00 par jour sur Delphi, sinon ils seraient tous experts, n'auraient pas de question, et... ne seraient donc pas sur ce forum.)
|
|
vendredi 24 avril 2009 à 15:23:13 |
Re : Lire un fichier utilisé par un autre processus

rt15
|
Salut, CreateFile.Faudrait savoir avec quels flags de partage le fichier a été ouvert, et avec quel droit tu l'ouvres toi. Essaie d'ouvrir ton fichier avec les trois : FILE_SHARE_DELETE FILE_SHARE_READ FILE_SHARE_WRITE Et en GENERIC_READ pour le DesiredAccess.
|
|
vendredi 24 avril 2009 à 15:27:52 |
Re : Lire un fichier utilisé par un autre processus

sinfoni
|
Moi je veux juste le lire. Je vais essayer, dès que j'ai un peu de temps, donc semaine prochaine, lundi probablement, et je reviendrai te dire si c'est ok.
Merci.
|
|
Cette discussion est classée dans : fichier, lire, utilisé, processus
Répondre à ce message
Livres en rapport
|
Derniers Blogs
[MIX10] KEYNOTE DEUXIèME JOURNéE - INTERNET EXPLORER 9, HTML5, VISUAL STUDIO 2010, ODATA[MIX10] KEYNOTE DEUXIèME JOURNéE - INTERNET EXPLORER 9, HTML5, VISUAL STUDIO 2010, ODATA par cyril
Le deuxième keynote du mix fut très riche en contenu. Internet Explorer 9 Juste un après le lancement de Internet Explorer 8, Microsoft a dévoilé les nouveautés de Internet Explorer 9. Désormais, IE supportera HTML5, SVG et CSS3. L'élément ...
Cliquez pour lire la suite de l'article par cyril CERTIFICATIONS BETA .NET 4CERTIFICATIONS BETA .NET 4 par KooKiz
Les inscriptions pour les certifications beta .NET 4 ont commencé. L'inscription est offerte pour les examens suivants : - 71-511, TS: Windows Applications Development with Microsoft .NET Framework 4 - 71-515, TS: Web Applications Development with...
Cliquez pour lire la suite de l'article par KooKiz [MIX 2010] - MICROSOFT TRANSLATOR TECHNOLOGY PREVIEW V2[MIX 2010] - MICROSOFT TRANSLATOR TECHNOLOGY PREVIEW V2 par redo
J'imagine que la plupart d'entre vous connaissent bien et utilisent le service de traduction de Google, mais connaissez-vous celui de Microsoft . Microsoft Translator ? Effectivement, Microsoft nous annoncé le lancement version 2 de la Technologie Preview...
Cliquez pour lire la suite de l'article par redo LANCEMENT EN PREVIEW DE CYCLONE LORS DES TECHDAYS 2010!LANCEMENT EN PREVIEW DE CYCLONE LORS DES TECHDAYS 2010! par MPOWARE
Toutes les vidéos de ce lancement sont en ligne!
Partie I - Intro
http://www.youtube.com/watch?v=LkQzTQ8T6CA
Partie II - Démo 1
http://www.youtube.com/watch?v=drAhYQ7lqvo
Partie III - Démo 2
http://www.youtube.com/watch?v=c8KM_1Gqybc...
Cliquez pour lire la suite de l'article par MPOWARE
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|