Bonjour à tous,

Je suis à la recherche d'un moyen d'intercepter les messages systèmes lors de l'ouverture / fermeture d'une application.
J'ai réalisé un premier prototype avec un timer qui va faire un Process.getProcesses(); ce qui me permet de savoir quels sont les nouveaux processus et les processus qui ont été tués à chaque tick du timer. Mais tout ce qui se passe entre deux tick passe au travers des mailles du filet ...

Je cherche donc un hook me permettant d'intercepter les messages système pour la création/suppression de processus. J'ai déjà pas mal cherché mais c'est un domaine totalement nouveau (hier matin je ne savais pas ce qu'était un hook).

Bref j'ai trouvé une liste de constante de windows hook:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/*
 * SetWindowsHook() codes
 */
#define WH_MIN              (-1)
#define WH_MSGFILTER        (-1)
#define WH_JOURNALRECORD    0
#define WH_JOURNALPLAYBACK  1
#define WH_KEYBOARD         2
#define WH_GETMESSAGE       3
#define WH_CALLWNDPROC      4
#define WH_CBT              5
#define WH_SYSMSGFILTER     6
#define WH_MOUSE            7
#define WH_HARDWARE         8
#define WH_DEBUG            9
#define WH_SHELL           10
#define WH_FOREGROUNDIDLE  11
#if(WINVER >= 0x0400)
#define WH_CALLWNDPROCRET  12
#endif /* WINVER >= 0x0400 */
#if(WINVER >= 0x0400)
#define WH_MAX             12
#else
#define WH_MAX             11
#endif
#define WH_MINHOOK         WH_MIN
#define WH_MAXHOOK         WH_MAX
Ceux qui m'interresse sont peut etre:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
#define WH_CALLWNDPROC      4
#define WH_CALLWNDPROCRET  12
Et j'ai lu le tutoriel suivant: http://support.microsoft.com/kb/318804

Mais je n'en sais pas plus.
Auriez-vous des infos sur les hook ? Des idées de mise en oeuvre ?

Merci d'avance,
Cordialement