Ouvrir un fichier en lecture qui est déjà utilisé par un autre programme....

Résolu
cs_OrsE Messages postés 44 Date d'inscription samedi 28 juin 2003 Statut Membre Dernière intervention 20 octobre 2005 - 21 juil. 2005 à 16:14
cs_OrsE Messages postés 44 Date d'inscription samedi 28 juin 2003 Statut Membre Dernière intervention 20 octobre 2005 - 22 juil. 2005 à 10:24
Salut tout le monde,

Voilà je chercher à ouvrir un fichir .doc alors que Word est l'utilise.
Je sais que c'est possible parce que j'ai un logiciel du type UltraEdit
(pspad) qui arrive à l'ouvrir, masi moi j'y arrive pas. J'ai besoin de
ça pour un TFileStream, et donc ça focntionne à partir du moment où le
fichier est fermé.

J'ai testé avec la fonction win32 CreateFile, mais soit ça marche pas, soit j'ai mi les mauvaises options.



HANDLE handle = CreateFile("c:\\temp\\doc4.doc",


GENERIC_READ,


FILE_SHARE_READ,


NULL,


NULL,


NULL,


NULL


);
Bon c'est en C++ sous builder, mais le problème ne vient pas de là....

Es ce que quelqu'un a une idée?

Merci

2 réponses

cs_OrsE Messages postés 44 Date d'inscription samedi 28 juin 2003 Statut Membre Dernière intervention 20 octobre 2005
22 juil. 2005 à 10:24
Bon voilà c résolu, en fait il fallait rajouter FILE_SHARE_WRITE, maintenant ça marche. Merci pour tout.
3
cs_grandvizir Messages postés 1106 Date d'inscription samedi 8 novembre 2003 Statut Membre Dernière intervention 3 septembre 2006 22
21 juil. 2005 à 17:39
Ouvrir un fichier requiert une autorisation (ok!) mais aussi une manière de l'ouvrir (ah!). Les ouvertures exclusives ont pour but de gérer cette manière. Ton pb est situé au niveau de FILE_SHARE_READ. Il faut que tu combines différentes valeurs avec un OR (voir aide). Pour savoir comment un fichier a été ouvert par une application, voir sysinternals.com. Mais il me semble qu'il un code source sur ce sujet assez récent ID>30000.

===========
Validez les réponses si ok...

ViewVite XP : HTML
0
Rejoignez-nous