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)
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
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...

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...