Fermer 1 des fichiers ouvert par 1 application

euki29 Messages postés 2 Date d'inscription mardi 1 août 2006 Statut Membre Dernière intervention 1 mars 2007 - 7 févr. 2007 à 09:32
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 - 1 mars 2007 à 11:41
je reposte ici, aidez moi svp
bonjour,
j'ai fais une petite appli pour selectionner un fichier, quelque soit sont type, puis le renommer et le copier à un endroit bien pécifique suivant des selections dans des listbox.
jusque la tout vat bien.

il arrive que l'utilisateur veuille copier un nouveau fichier, et que sa selection l'amene sur un fichier déjà existant:
-pour l'instant je renomais le nouveau fichier en l'incrementant d'un chiffre puis le copiais.

mais pour améliorer le "truc" je veux ajouter : ouvrir le fichier existant (pour que l'utilisateur verifie si le fichier qu'il veut copier est completement différent de l'existant ou si c'est une nouvelle version).

et c'est la que cela se complique.
en utilisant "process.start" j'ouvre bien le fichier à vérifier mais je ne peux pas toujours le refermer,

EXPLICATION :
 j'ouvre un fichier htm avec
process.StartInfo.FileName ="toto.html"
process.start()
blabla
process.close()

tout va bien le fichier est ouvert puis fermer

SAUF SI LE NAVIGATEUR EST DEJA LANCER, dans ce cas le fichier est bien ouvert mais le process est déja existant et je pars dans mes gestions erreur quand ja passe sur "process.close()".

j'ai chercher mais je n'arrive pas à trouver le moyen de fermer ce fichier bien précis et non l'application qui l'ouvre( quelque soit l'application)

j'ouvre et ferme bien toutes sortes de fichier (doc, xls, pdf, etc..) tand  que l'application n'est pas déjà lancée avec un autre fichier.
les utilisateurs ont souvent plusieurs documents ouverts et je ne veux fermer que le fichier qui vient d'être affiché.

DONC SE QUE JE CHERCHE C'EST A FERMER UN FICHIER BIEN SPECIFIQUE SANS FERMER L'APPLICATION. ET QU'ELLE QUE SOIT L'APPLICATION (surtout IE,Word,Excel)

j'ai chercher et tester un tas de chose, mais rien n'a fonctionné correctement.
je crois que maintenant je tourne en rond

merci de votre aide

3 réponses

ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
11 févr. 2007 à 17:24
0
euki29 Messages postés 2 Date d'inscription mardi 1 août 2006 Statut Membre Dernière intervention 1 mars 2007
1 mars 2007 à 10:21
désolé mais cela ne fonctionne pas si plusieurs fichiers sont ouverts avec la mçeme application.
exemple avec 3 pages html, le code ne les ferment pas...
 j'ai quasiment essayé tous les code ici et aucun ne sait fermer un fichier ciblé d'une application qui en à plusieurs d'ouvert...

merci
0
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
1 mars 2007 à 11:41
salut,

plusieurs choses :
-> si le fichier ne se ferme pas, c'est que le logiciel qui l'a ouvert le réouvre quand il s'aperçoit qu'il est fermé...par exemple quand il essaie de le lire/écrire...
-> il faut appeler la fonction de fermeture sur chaque fichier : si tu as 2 fichiers utilisés une fois par 3 processus tu appelles 6 fois la fonction de fermeture...
-> IL FAUT AVOIR LES DROITS D'ADMINISTRATEUR (ou du moins le DROIT de DEBUG, voir secpol.msc -> Stratégies locales -> Attribution des droits utilisateurs -> Débugger des programmes...)

sous quelle version de Windows est-tu ?

ShareVB
0
Rejoignez-nous