Exemple : Appel d'une fonction de l'API Windows avec CallBack
L'exemple suivant permet d'établir un fichier de trace contenant tous les identifiants (Handle) des fenêtres Windows actuellement ouvertes sur le poste en cours.
La procédure LanceUneTrace ouvre le fichier de trace et lance l'énumération des fenêtres grâce à la fonction EnumWindows de l'API User32.
La procédure EnumérationFenêtre est appelée par la fonction EnumWindows de l'API User32 pour chaque fenêtre trouvée. Cette procédure permet d'écrire l'identifiant de la fenêtre trouvée dans le fichier de trace.
PROCÉDURE LanceUneTrace()
// On ouvre le fichier
nFichier est un entier = fOuvre("C:\HandleFenêtre.txt", foCréation)
SI nFichier = -1 ALORS
Erreur("Problème fichier")
FinProgramme()
FIN
// On lance l'énumération
AppelDLL32("User32", "EnumWindows", &EnumérationFenêtre, nFichier)
// On ferme le fichier
fFerme(nFichier)
PROCÉDURE EnumérationFenêtre(nHwnd est un entier, nFichier est un entier)
// On écrit dans le fichier
fEcritLigne(nFichier, nHwnd)
RENVOYER Vrai