Realizzare con un programma quello che chiedi, e' una cosa molto complessa.

Puoi usare un tool (ad esempio quelli di sysinternals) per determinare quale processo tiene aperto un file.