Accès concurrent sur un fichier

Korb3ns Messages postés 10 Date d'inscription dimanche 12 février 2006 Statut Membre Dernière intervention 2 décembre 2007 - 1 déc. 2007 à 13:10
Korb3ns Messages postés 10 Date d'inscription dimanche 12 février 2006 Statut Membre Dernière intervention 2 décembre 2007 - 2 déc. 2007 à 02:08
Bonjour à tous,



J'utilise actuellement la méthode CreateProcess me permettant d'accéder à un serveur distant via IE...
J'aimerais pouvoir supprimer les traces dans IE.
Pour l'historique d'auto-complétion j'ai réussi à l'aide d'un objet COM (présent dans la MSDN), mais j'ai un soucis pour les dossiers Shell Historique :

Avec mon ordinateur (dual core, je sais pas si ça joue un rôle), j'arrive à ouvrir le fichier contenant l'historique, peu importe si IE est ouvert, mais avec certains PC l'accès y est bloqué tant qu'un processus IE est présent (je ne veux pas tous les fermer pour traiter l'information)...

Le fichier se trouve au path suivant :

%USERPROFILE%\Local Settings\Historique\History.IE5\MSHist012007120120071202\index.dat

Les chiffres présent dans le dernier dossier est la concaténation de la date d'aujourd'hui avec celle de demain (au format américain)...

L'idée est d'ouvrir ce fichier, de récupérer son contenu avant de créer le processus IE, puis de l'ouvrir une fois le processus fermé pour écraser son contenu (de cette manière je ne surcharge pas l'historique présent de IE).

Est-ce que qqn aurait une idée pour ouvrir ce fichier sans être bloqué ?

J'utilise la méthode ifstream pour l'ouverture de la manière suivante :

ifstream fileIn( path, ios::in | ios::binary )

La variable fileIn est NULL sur certain PC uniquement si un processus IEXPLORE est présent.

Y a t'il une autre méthode à utiliser pour garantir l'ouverture de ce fichier ?

Fermer les HANDLE des processus IE sur ce fichier pourrait être une solution ?

Si oui comment faire ? J'arrive à parcourir tous les processus, les ouvrir mais je ne sais pas quoi en faire...

Merci d'avance pour votre aide !

10 réponses

Neo_Fr Messages postés 653 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 10 novembre 2014 2
1 déc. 2007 à 13:43
Salut,
Essaye CreateFile avec FILE_SHARE_READ et FILE_SHARE_WRITE
http://msdn2.microsoft.com/en-us/library/aa363858.aspx

Neo_Fr
0