# Protokollieren, wie oft eine Datei geöffnet wird?



## bogomip (29. April 2007)

Hallo,

Kann mir bitte jemand eine Anregung oder einen Tipp geben, wie ich folgendes erreiche:
Ich möchte, dass gezählt wird, wie oft eine beliebige lokale Datei (vorzugsweise mp3) geöffnet wird. Mit "öffnen" meine ich dabei sowohl direktes öffnen (Doppelklick, Markieren+Return, Drag&Drop, etc.), als auch indirektes öffnen (Dialog öffnen in Programmen, Laden durch eine Playlist oder andere Zugriffe).

Wahrscheinlich muss dazu ein Programm ständig im Hintergrund laufen und in eine DB schreiben.

Wie geht man an sowas ran? Ich brauche noch keinen kompletten Code, aber ein Schubs in die richtige Richtung wär cool.

Danke, bogomip


----------



## DrSoong (30. April 2007)

Sagen wir mal so, mit diesem Code kannst du erkennen, ob Windows den Schreibschutz aktiviert hat, wird normalerweise gesetzt, wenn die Datei geöffnet ist. Das ganze in einen Timer gepackt, du zählst abwechselnd wenn die Datei gesperrt oder freigegeben ist.

Das Problem liegt insofern darin, dass man eine Datei aber auch mehrmals starten kann, eine MP3 kann ich x-mal gleichzeitig offen haben. Mit dem oa Code kriegst du aber nur raus, dass sie gerade öffen ist, nicht wie oft.

Eine teilweise Lösung wäre ein zwischengeschaltetes Programm, in der Registry verweist du darauf. Die Datei startet erst mit deinem Programm, du protokolliert den Start und startest dann die Datei mit dem Originalprogramm. Funktioniert aber nicht wenn du die Datei aus dem Originalprogramm heraus startest.

Die einzig umfassende Lösung wäre ein eigener virtueller Dateitreiber, der ist aber in VB nicht realisierbar und außerdem sehr schwer zu programmieren.


Der Doc!


----------



## Philipp9494 (30. April 2007)

Hallo!

Es gäbe aber auch die Möglichkeit es in die Registry zu schreiben, dass jede Datei (exe, txt, mp3, usw..), oder auch bestimmte Dateiformate, zuerst dein Programm gestartet wird (mit dem Pfad der "echten" Datei als Parameter), welches in einer Datei eine Zahl erhöht..
hier wenn du nicht weist wie du dein Programm mit einem Dateityp verlinkst

Lg

Philipp9494


----------



## DrSoong (30. April 2007)

@Philipp9494:



DrSoong hat gesagt.:


> Eine teilweise Lösung wäre ein zwischengeschaltetes Programm, in der Registry verweist du darauf. Die Datei startet erst mit deinem Programm, du protokolliert den Start und startest dann die Datei mit dem Originalprogramm. Funktioniert aber nicht wenn du die Datei aus dem Originalprogramm heraus startest.



*Ahem* Lies dir das hier noch mal durch, was habe ich gesagt?


Der Doc!

BTW: Du heißt nicht zufällig Danielle mit Vornamen, oder hast einen Bruder der so heißt?


----------



## Philipp9494 (1. Mai 2007)

Hallo...

Upps,..

Nein ich heiße nicht Danielle und mein Bruder auch nicht (hab keinen Bruder). 
Wieso

Lg

Philipp9494


----------



## DrSoong (1. Mai 2007)

Ach, nur so eine Frage, nichts weiter.


Der Doc!


----------

