Öffnen von Files abfangen
-
Hallo!
Im C++-Forum wurde mir geasgt, dass ihr mir vielleicht helfen könnt:
Ich suche eine Möglichkeit zu checken, ob gerade eine Datei von einem Programm geöffnet wird. Wenn also z.B. Winamp einen mp3-File öffnet, möchte ich das mitloggen. Gibt es da eine Möglichkeit? Am besten wäre ANSI-C++ also keine MFC-Klassen...
Vielen Dank im Vorraus und Gruß,
TheBruth
-
Evtl. mit ReadDirectoryChangesW und FILE_NOTIFY_CHANGE_LAST_ACCESS
-
erstmal keine schlechte Idee, besser als nichts, aber dann müsste ich ja ständig alle Verzeichnisse überwachen. Gibt es nicht die Möglichkeit, z.B. alle Handles auszulesen oder sowas? Die müssen doch irgendwo gespeichert werden...
Oder wenn ein File geöffnet wird, müssen doch irgendwelche Meldung durchs OS laufen (WM_WASWEIßICH), die sagen, dass ein File geöffnet werden soll...
-
Das ist nicht ganz einfach. Du mußt dazu alle Aufrufe an CreateFileA/ W abfangen (API-Hook). Jeffrey Richter zeigt in seinem Buch sehr schön, wie sowas gehen kann.
Aber in ANSI-C++ sehe ich schwarz.