Salut à tous,
Je suis en train de concevoir une application qui se lance au démarrage d'une session Windows. L'application en question gère des stratégies chargées de masquer la barre des tâches et interdire l'accès au bureau Windows. En contrepartie, elle donne la possibilité d'ouvrir certains programmes en cliquant sur les boutons correspondants.
Seul hic, c'est que si l'utilisateur ouvre plusieurs application, il ne va pas pouvoir basculer de l'une à l'autre vu que le barre des tâches est masquée.
Je me suis alors tourné vers une fenêtre qui affiche la liste des applications en cours. J'ai regardé du coté des API avec notamment "EnumWindows".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 TableSupprimeTout(TABLE_Applications) API("User32","EnumWindows",&ProcEnumFenêtre,0)Le problème c'est que cette fonction me renvoi un nombre incroyable de programmes, très loin des quelques fenêtres que j'ai à l'écran...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 PROCEDURE 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 API("user32","GetClassNameA",nHwnd,&sNomClasseDeFenetre,nTailleMaxNomClasse) sTitreFenetre = SysFenTitre(nHwnd) SI sTitreFenetre~="" ALORS RENVOYER Vrai SINON TableAjoute(TABLE_Applications,TAB+sTitreFenetre+TAB+sNomClasseDeFenetre) RENVOYER Vrai FIN
Quelqu'un a déjà utilisé cette fonction de l'API User32 ? Une idée pour restreindre l'affichage aux seuls fenêtres ouvertes ?
Merci d'avance...
Partager