en C # en utilisant la classe de processus, je peux obtenir la poignée à la fenêtre principale d'un processus, mais j'ai besoin d'accéder à une fenêtre qui n'est pas la fenêtre principale de son processus. Comment puis-je obtenir la poignée à toutes les fenêtres d'un processus? P>
3 Réponses :
the EnumChildWindows fonction pourrait vous aider à sortir . Les fenêtres enfants pourraient également avoir des enfants et ainsi de suite. P>
Il y a aussi GetWindow et EnumthreadWindows P>
p / invoquant le énumthreadwindows < / Code>
fonction de User32, le rappel que vous fournissez serait donné les poignées des fenêtres d'un thread donné. Process.getCurrentProcess (). Les threads code> doivent vous revenir à tous les threads pertinents avec lesquels appeler
énumthreadwindows code>. p>.
Vous pouvez p / invoquer getwindowtheadProcessid () code> pour obtenir l'ID de thread pour le fil d'interface utilisateur qui possède la fenêtre principale. De là, vous pouvez trouver toute autre fenêtre de niveau supérieur appartenant à ce fil avec
énumthreadwindows () code>. Toutes les fenêtres enfants (commandes) appartenant à une fenêtre de niveau supérieur peuvent être trouvées avec
EnumchildWindows () code>. Visitez Pinvoke.net pour les déclarations P / invoke nécessaires. P>