Trouver quelle appli utilise une ressource / un fichier locké - C++ - Programmation
Marsh Posté le 26-10-2010 à 17:35:50
Si c'est juste pour forcer la fermeture d'un handle, tu peux aussi utiliser process explorer. Tu peux faire une recherche avec Ctrl+F, il te listera le processus en question, et tu pourra fermer ce handle avec un clic droit.
Il y a aussi un outil en ligne de commande qui s'appelle "Handle". C.f. google "sysinternals".
Maintenant le faire avec l'API Windows, j'ai le présentiment que ça tape dans des API non documentées... donc il y a intérêt à ce que ça en vaille cette peine ...
Marsh Posté le 26-10-2010 à 17:41:58
Helas, je n'ai pas trop le choix, le but c'est de le faire automatiquement, donc pas d'intervention manuelle possible dans mon cas.
Et justement, dans l'API Windows, j'aimerai bien savoir quelle classe/méthode peut m'aider à faire ça.
Mais dejà merci pour les pistes
Marsh Posté le 26-10-2010 à 22:20:55
Vachement pratique ce "handle", moi qui peste contre windows qui refuse de me supprimer des fichiers.
Marsh Posté le 03-11-2010 à 11:48:48
Perso, handle n'est pas une appli présente sur mon poste (win xp 32 pro) je me demande comment vous l'avez obtenue.
Et sinon, je cherche toujours à le faire dans un bout de code, et je me demande quelles méthodes de l'API sont utilisées par handle justement.
Marsh Posté le 03-11-2010 à 12:00:01
Si tu essaies d'ouvrir un fichier locké, tu auras une erreur. Par contre je ne connais pas de moyen de savoir qui utilise la ressource en question.
Marsh Posté le 03-11-2010 à 14:53:08
NounouRs a écrit : Perso, handle n'est pas une appli présente sur mon poste (win xp 32 pro) je me demande comment vous l'avez obtenue. |
Comme dit plus haut, par google: http://lmgtfy.com/?q=handle+sysinternals
Apparement il n'y a pas une méthode pour le savoir, ca passe par la création d'un driver système avec analyse de la mémoire, etc, bref ca a très l'air compliqué... (enfin trop pour mo en tout cas!)
Par contre peut être peut tu analyser la sortie du programme handle pour trouver (programmatiquement) le nom du programme qui bloque...
Marsh Posté le 03-11-2010 à 17:39:50
Apparemment, au vu de google, ça passe par l'utilisation de CreateToolHelp32Snapshot, mais ça à pas l'air simple.
A+,
Marsh Posté le 26-10-2010 à 12:12:28
Bonjour,
Connaissez vous une technique sous WINDOWS pour récupérer des informations sur l'application qui est potentiellement en train de locker un fichier.
Dans le cas où on voudrait supprimer ce fichier de force, j'aimerai savoir quelle appli est en train de l'utiliser.
J'ai regardé dans la MSDN, mais sans vraiment trouver mon bonheur.
Mais je pense que c'est faisable puisque certaines applications commerciales y parviennent : http://www.nirsoft.net/utils/opened_files_view.html
Des idées ?