2008-10-08 4 views
9

Si je lis ou écris dans un fichier et reçois une erreur 33 ou 32, je voudrais enregistrer un message contenant le nom des autres processus qui ont ouvert le fichier. Il doit y avoir une API Win32 que je pourrais utiliser pour obtenir cette information. Process Explorer l'affiche. Bien sûr, Process Explorer a également des informations sur tous les processus en mémoire. Je préférerais trouver le coupable sans interroger tous les processus.Quelle API Win32 peut être utilisée pour trouver le processus dans lequel un fichier donné est ouvert?

Répondre

2

This semble faire ce que vous voulez.

évidemment utilise une API cachée telle que NtQueryInformationProces s.

1

The Handle program from SysInternals does this as well, mais je ne sais pas comment. Je ne pense pas qu'il existe une seule API documentée pour le faire. Je pense que vous devez parcourir les processus, énumérer chacun des handles dans le processus, puis déterminer le nom de fichier associé à ce handle.

Questions connexes