Im Grunde ist es meist egal, wer es ist, denn wichtig ist nur ob oder ob nicht.
PS: Auch der FileDialog kann die Datei geöffnet haben.
* einem ein Handler im Explorer, zu Anzeige von Dateiinfos, dem Icon oder einem Overlay,
* und natürlich auch der Virenscanner, während auf die Datei zugegriffen wird (beim Rausholen des Icon und der Zusatzinfos)
* oder der Dialog selber, in Form einer Vorschau
* und beim Speichern gibt es einen Zugriffstest, den man in den Optionen des Dateidialog de-/aktivieren kann
Klar, das Handle besorgen, dann in allen Programmen die Handles auslesen und dieses Handle suchen, aber ...
Sich in alle Programme hooken, dort alle Handles suchen, zu jedem
Handle den Dateinamen rausfinden und das verrgleichen, aber neeeeeee...
Dann, siehe ganz unten in dem Link, gibt es in aktuelleren Windowsen eine
API, wo man aber nur Programme rausbekommt, die ihre offenen Dateien dort registrieren, was z.B. Excel macht.