Bonjour,
Je cherche une fonction API permettant de déterminer si un fichier est
déjà utilisé par une autre application ou pas ?
Merci)
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.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager