Events von anderen Programmen abfangen

Hallo leute.
Ich habe ein Programm namens FlashFXP.
Das ist ja nix besonderes ^^ aber ich will etwas besonderes draus machen.

Und zwar sieht mein Plan wie folgt aus:
FlashFXP läd *.rar files von einem Server herunter solange bis die Queue File leer ist. Dann kann man auswählen was FFXP machen soll (Disconnect Herunter Fahren usw.)
Ich würde mir nun gern ein Programm basteln welches FlashFXP sozusagen überwacht und bei jeder fertig heruntergeladenen CD diese entpacken diese files löschen und die entpackte in einen Ordner zb „Fertig“ entpacken und diese dann in eine Datenbank schreiben.

Was mir dazu fehlt, ist ledeglich ein Handle welches checkt wann FFXP den ordner wechselt bzw sagt das das Queue Completet ist. Der rest ist eigentlich einfach.

Gibt es eine API funktion die in der lage ist ein Programm sozusagen zu überwachen und ereignisse festzustellen?

grüße vom digi

Hallo Digi,

also so adhock faellt mir keine Lösung ein. Ich kann mir auch nur schwer vorstellen, wie man das bewerkstelligen sollte.

Aber zu deinem Problem. Ich würde es wiefolgt lösen

Das Prog, speichert die RAR Files ja irgendwo. Das Verzeichnis kennst du ja. Überwache dies einfach! Sobald sich nun eine neue RAR Datei darin befindet, so lasse dein Program agieren. Sprich das File entpacken, Verzeichnis evtl erstellen. Dateien dahin verschieben, Meldung ausgeben. Fertig :smile:

All dieses Schritte sind rel. schnell bewerkstelligt und keine grosse Arbeit wert :wink:

MfG Alex

Lösung: Ordner überwachen
Du solltest Ordner Übewachen. Über ein CallBack kannst Du das Update eines Ordners (neueDatei/ Unterverzeichnis/ Datei neu gespeichert etc) abfangen, weil Win sys eine Message an alle Anwendungen schickt, wenn sich im File sysrtem was getan hat.
Wenn Du also das messaging gehooked hast, die richtige WM beim proc vorbeikommt, setzt Du einen Timer auf z.B 1 und arbeitest im Timerevent eine Liste mit Dateien aus dem Downloadverzeichnis ab. Ist eine dazu gekommen (neu angelegt), dann ist die vorherige fertig für Deine Automatismen…
Alternativ Kannst Du statt des Hooking (auch gleich über einen Timer = 1000 jede Sekunde in das Verzeichnis schauen, eine Liste anlegen, und bei Dazukommen einer neuen Datei zur vorherigen Liste, die „alt“ dazugekommene Datei bearbeiten.
Mein Tip ist, daß Du das Hooking sein läßt, das kriegst Du nicht hinn und mit Interval = 1000 frißt Dir das praktisch genauusowenig resourcen…