Bonjour,
Je désire savoir qu'elles sont les fenêtres ouvertes sur le bureau
Sur un forum, j'ai trouvé le code suivant :
La procédure :
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 // Afficher les fenêtres ouvertes nFichier est un entier = fOuvre(fRepDonnées() + ... "\TitresEtClassesDesFenetres.txt", foCréation) SI nFichier = -1 ALORS Erreur("Problème fichier") FinProgramme() FIN // On lance l'énumération avec en paramètre l'identifiant du fichier ouvert // (il sera passé en paramètre à la CallBack) API("User32", "EnumWindows", &ProcEnumFenêtre, nFichier) // On ferme le fichier fFerme(nFichier) // Affichage dans une fenêtre de trace Trace(fChargeTexte(fRepDonnées() + "\TitresEtClassesDesFenetres.txt")
Le fichier texte créé contient une liste, que je ne sais exploiter ... (Fichier joint)
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
28 // ----- Avec la procédure suivante : // nHwnd est le paramètre reçu de la fonction de l'API // avec le handle de la fenêtre // nIDFichier est le paramètre qui a été passé // lors de l'appel de la fonction de l'API PROCÉDURE ProcEnumFenêtre(nHwnd est un entier système, ... nIDFichier est un entier système) nTailleMaxNomClasse est un entier = 1024 sNomClasseDeFenetre est une chaîne ASCIIZ sur 1024 sTitreFenetre est une chaîne // Récupération de la classe Windows de la fenêtre API("user32.dll", "GetClassNameA", nHwnd, &sNomClasseDeFenetre, ... nTailleMaxNomClasse) // Récupération du titre de la fenêtre sTitreFenetre = SysFenTitre(nHwnd) SI sTitreFenetre ~= "" ALORS sTitreFenetre="<sans titre>" // Ecriture dans le fichier de l'identifiant passé en paramètre fEcritLigne(nIDFichier, sTitreFenetre + "," + sNomClasseDeFenetre) SI sNomClasseDeFenetre ~= "Nom de classe de fenêtre cherchée" ALORS // Arrêt de l'énumération RENVOYER Faux SINON // L'énumération continue RENVOYER Vrai FIN
Comment modifier pour n'avoir que le nom des fenêtres ouvertes ?
Merci d'avance
Cordialement
SC
Partager