En C++ (spécifiquement sur Visual C++), vous ne pouvez parfois pas ouvrir un fichier car un autre exécutable l'a ouvert et ne le partage pas en lecture. Si j'essaie d'ouvrir un tel fichier, comment puis-je savoir par programme qui verrouille le fichier?Fichiers Win32 verrouillés pour la lecture: comment savoir qui les verrouille
Répondre
Sous Windows 2000 et versions ultérieures, vous ne pouvez pas faire cela sans utiliser un pilote en mode noyau. Process Explorer et d'autres outils similaires charger un pilote automatiquement pour accomplir cela. En effet, les handles de fichiers sont dans l'espace noyau et ne sont pas accessibles par les applications en mode utilisateur (fichiers EXE). Si cela vous intéresse vraiment, regardez this project.
La méthode approuvée par MSDN est IFileIsInUse::GetAppName()
. Nécessite Vista, cependant.
Cela semble nécessiter une coopération du programme qui a ouvert un fichier, ce qui n'est pas la même chose que ce qui est demandé. – Mehrdad
C'est le moyen le plus riche en informations, c'est pourquoi vous devriez l'essayer en premier. – MSalters
Bien sûr, il n'y a pas de mal à l'essayer, mais les chances que cela fonctionne sont très faibles, donc le PO aura probablement besoin d'une alternative indépendamment. – Mehrdad
- 1. FileInfo verrouille les fichiers!
- 2. CopyFileEx et les fichiers partiellement verrouillés
- 3. Lecture à partir du port série verrouille
- 4. Suppression de fichiers verrouillés avec Java?
- 5. Comment savoir quel thread verrouille un fichier dans Java?
- 6. Les enregistrements sont verrouillés sur un RepeatableRead
- 7. comment trouver qui verrouille qui dans SQL Server 2005
- 8. Comment les fichiers verrouillés peuvent-ils être surveillés sur un serveur WIN 2000
- 9. Le pilote hftt DBF verrouille ses fichiers
- 10. aide IOError pour la lecture de fichiers
- 11. Lecture de l'état de la batterie pour Windows CE basé sur les API win32
- 12. Pourquoi les assemblages référencés sont-ils verrouillés?
- 13. Microsoft.Office.Interop.MSProject - Pourquoi mes fichiers sont-ils toujours verrouillés (par moi!) Lorsque j'essaie de les ouvrir?
- 14. Comment puis-je forcer la suppression de fichiers verrouillés en C/C++?
- 15. Verrou de lecture/écriture évolutif Win32
- 16. Fichiers batch win32: rassembler et concaténer tous les fichiers correspondants
- 17. Comment savoir si une fenêtre est active? (Win32 API)
- 18. AJAX callback verrouille la page
- 19. lecture de fichier: feof() pour les fichiers binaires
- 20. Rechercher des objets verrouillés
- 21. Boolean Animation verrouille la propriété
- 22. comment savoir rapidement quels fichiers diffèrent dans les révisions mercurielles
- 23. Quelle est la commande permettant d'interroger un référentiel Subversion pour tous les fichiers verrouillés par un utilisateur spécifique?
- 24. CSS - Verrouille les barres de défilement en cas de débordement
- 25. Lecture de fichiers texte
- 26. lecteur d'animation (lecture de films qui sont des fichiers SWF)
- 27. Comment construire wxmathPlot pour win32?
- 28. Comment sélectionner tous les fichiers en lecture seule avec msbuild?
- 29. Android: Interagir avec l'écran verrouille les boutons
- 30. Comment utiliser les icônes Win32
Vous pouvez voir que Process Explorer est en train de charger un pilote en regardant les DLL du processus 'System'; vous verrez un pilote similaire à 'PROCEXP113.SYS' chargé –