Fermer un fichier ouvert par une autre application

Soyez le premier à donner votre avis sur cette source.

Vue 23 003 fois - Téléchargée 2 352 fois

Description

Il vous est deja arrivé de vouloir supprimer un fichier
mais de ne pas pouvoir car une application l'avait verrouillé
sans vous le demander ? Non ? Moi ça m'arrive tout les jours
et ça me gonfle. Alors voici un petit programme qui vous permet
en un seul clique de reperer le coupale et de resoudre le "probleme"

Cette source comprend :
- Le programme qui scanne les fichiers
- Une dll pour inclure le prog dans le menu contextuel de l'explorateur windows
- Un petit setup pour la dll

ATTENTION : Ne marche que sur windows 2k et xp

Source / Exemple :


'voir le zip

Conclusion :


On peux toujours faire mieu mais... j'attends que vous me donniez vos precieux conseils (je suis fainéant) ;)

@+

Codes Sources

A voir également

Ajouter un commentaire Commentaires
cs_pluplu Messages postés 615 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 4 juillet 2012
14 juil. 2007 à 16:05
Bonjour,
Je dois avoir loupé quelque chose, j'ai essayé sur XP 2002 SP2, là sa plante l'IDE VB se fige, et j'ai également essayé sur Win2000 server SP4 là je ne vois aucun des fichiers ouverts ???
Seul l'install et dé-install de la DLL se passe correctement dommage!
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 17
24 juin 2006 à 10:46
Salut,

Très interressante, merci EB !

Par contre j'ai une autre astuce SANS UN SEUL CODE qui fonctionne après un reboot !
Il m'est déjà arrivé, même après un reboot, d'essayer d'effacer le fichier 'utilisé par un autre programme' et qui ne s'efface toujours pas.

Bref, ma combine c'est donc de rebooter, j'ouvre ... ... NERO, et ouais, j'annule l'assistant et avec l'explorateur de fichier de Ahead Néro, je supprime ce fichier tenace sans aucun problème.

Testé et approuvé !

En tout cas, je garde ta source quand même pour le code très utile.

++
Mortalino
draluorg Messages postés 625 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 25 novembre 2010
18 avril 2006 à 01:16
Salut a tous,

Yep c'est pour faire la meme chose que je m'interesse a ton code ShareVb ;)

Sauf que c'est pour la desinfection de malwares...
Sinon c'est une bonne chose pour nous que vous vous croisiez :)

Bonne continuation a tous les 2 ;)

PS: Eb quand passe tu au .net! ?
ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 25
17 avril 2006 à 23:43
salut,

c'est marrant parce que j'allais ajouter cette fonctionnalité à mon code mais en mettant le CloseHandle dans le driver...je n'avais pas pensé à CreateRemoteThread...bravo...

sinon, j'ai trouvé beaucoup mieux que le parcourt de tout l'arbre des objets NT, QueryDosDevice permet de raccourcir le code de façon énorme...voir ma source en .Net

sinon aussi pour ceux chez qui ça plante, c'est normal c'est un bug de Windows : il existe un fichier Netpipe (ou un truc dans le genre) et si on a le malheur de faire un NtQueryObject dessus, le processus se trouve gelé définitivement (on ne peut même pas le tuer...)...c'est d'ailleur pour cela que mon code et le nthandle de sysinternal.com utilise un driver .sys car il faut parcourir la mémoire kernel pour trouver le nom sans risque de plantage...

enfin, je trouve l'idée d'utilisation et d'adaptation execellente...

ShareVB
cs_eldim Messages postés 956 Date d'inscription lundi 30 mai 2005 Statut Membre Dernière intervention 21 août 2014 1
4 avril 2006 à 10:50
Bonjour,
c'est du vb6 c'est normal que tu ne puisses pas l'utiliser en vb2005 car de nombreuses fonctions utilisées ici ne sont pas convertibles directement... il faut trouver leur équivalent en .net (exemple : strptr utilisée dans des API nécessite de trouver les class qui correspondent aux API utilisées)
Afficher les 24 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.