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
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|