Bonjour,
Je cherche une fonction API permettant de déterminer si un fichier est
déjà utilisé par une autre application ou pas ?
Merci)
Version imprimable
Bonjour,
Je cherche une fonction API permettant de déterminer si un fichier est
déjà utilisé par une autre application ou pas ?
Merci)
Je ne crois pas.
Mais ça ne servirait à rien, puisque c'est le genre de chose qui peut changer entre le moment où tu testes et le moment où tu cherches à faire quelque chose avec.
Createfile me retourne un handle valide sur une dll de ressource déjà utilisé ;
Cela doit dépendre des droits que tu demandes et des flags de partage que tu lui passes...
Typiquement, demande les droits en écriture...
Hello,
Une API toutes faites je ne crois pas non.
Pour savoir si un fichier est utilisé par un processus, il faut lister l'ensemble des handles du système et vérifier si un processus possède un handle sur le fichier en question.
Pour faire ça "proprement" tu auras besoins d'un driver (ou du moins un accès au kernel) afin d'éviter les deadlocks qui se crée à cause de l'attente d'une ressource (pipe) qui ne sera jamais libérée.
Si tu parles de DLL c'est plus simple car un handle sur une dll est seulement une adresse sur le PE header de celle ci en mémoire (contrairement au handle sur fichier qui fait référence à un objet noyau).
EDIT://
Une autre possibilité sans passer par un driver est d'utiliser des threads et un timer.