Je suis assez nouveau à l'API Windows et j'essaie de trouver les poignées de toutes les fenêtres qui apparaissent dans la barre des tâches.Obtenir les poignées de toutes les fenêtres dans la barre des tâches
Jusqu'à présent, j'ai réussi à:
- Obtenez les poignées de toutes les fenêtres
- Obtenez le titre d'une fenêtre
- Vérifiez si une fenêtre est visible
- Vérifiez si une fenêtre existe
- Réduire une fenêtre
- Obtenez les fenêtres enfants d'une fenêtre
- Obtenez la fenêtre de bureau
J'ai essayé d'obtenir toutes les fenêtres enfants de la fenêtre de bureau, ce qui me donne près de 900 poignées de fenêtres! J'ai donc essayé de les filtrer, en obtenant seulement des fenêtres visibles et seulement des fenêtres dont le titre est plus long que 0 caractères, mais je suis encore loin - avec 68 fenêtres ??
Donc, un expert Win API pourrait m'éclairer sur la façon dont vous faites cela s'il vous plaît :-)
et peut-être aussi expliquer pourquoi il y a tellement de fenêtres?
Edit:
private static bool HasAppWindowStyle(IntPtr handle)
{
return (GetWindowLong(handle, GWL_EXSTYLE) & WS_EX_APPWINDOW) != 0;
}
Pourquoi '== 0' et pas'! = 0'. Je ne sais pas comment les valeurs de cette API sont définies, mais j'utiliserais intuitivement '! = 0' – CodesInChaos
duplicata possible de [Quelle API dois-je utiliser pour savoir si une fenêtre est affichée dans la barre des tâches? ] (http://stackoverflow.com/questions/3484650/what-api-function-do-i-need-to-use-to-know-if-a-windows-is-beeing-shown-in-the- ta) – Anders
@CodeInChaos: vous avez raison, merci. – Nobody