Entwickler-Ecke

Windows API - Wann wurde ein Programm geöffnet


Licki - So 04.01.04 15:18
Titel: Wann wurde ein Programm geöffnet
Hallo.

Habe eine Frage. Ich würde gerne wissen, wann der User ein Programm geöffnet hat? Sprich, er klickt zum Beispiel Microsoft Word und das wird dann abgespeichert, wodurch dann am Monatsende eine Statistik der Programmaufrufe etc. erstellt wird.

Wie kann ich also herausfinden, wann und was er geöffnet hat?

Danke für Hilfe.


Anonymous - So 04.01.04 15:32

Du kannst das wohl ganz einfach per Hooks lösen:

Demo [http://www.datavis.ch/Thomas/downloads/EXECUTE-Hooker.zip]

Gruß

ixtreme.de


toms - So 04.01.04 15:37

Hi,

Es gibt verschiedene Möglicheiten:

1. Installiere einen WH_SHELL hook mit SetWindowsHookEx.
Dann kannst du in der ShellProc hook auf HSHELL_WINDOWCREATED
reagieren.

2. Die Funktionen CreateProcess, ShellExecute usw hooken.
Ein Beispiel von mir findest du hier:
http://www.datavis.ch/Thomas/Downloads/EXECUTE-Hooker.zip

3. In einem Timer das VordergrundFenster abfragen und
alle Prozesse durchlaufen.


Anonymous - So 04.01.04 15:38

Das Demo von oben ist der gleiche Link, den du angegeben hast :-)

Gruß


ixtreme.de


Licki - So 04.01.04 15:40

Danke für die Beispiele mit Tipps, bring mich schon weiter, danke. :)


toms - So 04.01.04 15:40

Habe den Beitrag zur gleichen Zeit geschrieben wie du, nur später abgeschickt. Aber das Beispiel ist immerhin auf meinem Server... :wink:


Anonymous - So 04.01.04 16:34

@toms: wozu hast du in deinem Beispiel eine DLL mit Hook erstellt? Das ist IMHO nicht nötig (ansonsten, klär mich bitte auf ;) )


toms - So 04.01.04 16:36

Wäre eigentlich nicht nötig gewesen, hab's nur gamacht, damit
man die DLL nicht compilieren muss. (für Anfänger...)