Fermer un fichier ouvert par une autre application

Soyez le premier à donner votre avis sur cette source.

Vue 22 366 fois - Téléchargée 2 308 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

Messages postés
615
Date d'inscription
mercredi 18 décembre 2002
Statut
Membre
Dernière intervention
4 juillet 2012

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!
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
17
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
Messages postés
625
Date d'inscription
vendredi 23 avril 2004
Statut
Membre
Dernière intervention
25 novembre 2010

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! ?
Messages postés
2676
Date d'inscription
vendredi 28 juin 2002
Statut
Membre
Dernière intervention
13 janvier 2016
14
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
Messages postés
956
Date d'inscription
lundi 30 mai 2005
Statut
Membre
Dernière intervention
21 août 2014
1
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.