Archivos Win32 bloqueados para leer: cómo averiguar quién los está bloqueando

En C ++ (específicamente en Visual C ++), a veces no puede abrir un archivo porque otro ejecutable lo tiene abierto y no lo comparte para las lecturas. Si intento abrir un archivo de este tipo, ¿cómo puedo averiguar quién está bloqueando el archivo?