La documentation Microsoft WinAPI semble suggérer que user32.dll contient une fonction appelée GetNextWindow()
qui permet soi-disant d'énumérer les fenêtres ouvertes dans leur ordre Z en appelant cette fonction plusieurs fois.Comment puis-je utiliser GetNextWindow() en C#?
Pinvoke me donne généralement l'instruction DllImport
nécessaire pour utiliser les fonctions WinAPI de C#. Cependant, pour GetNextWindow()
il n'a pas d'entrée. J'ai donc essayé de construire mon propre:
[DllImport("user32.dll")]
static extern IntPtr GetNextWindow(IntPtr hWnd, uint wCmd);
Malheureusement, en essayant d'appeler cela, je reçois un EntryPointNotFoundException
disant:
Unable to find an entry point named 'GetNextWindow' in DLL 'user32.dll'.
Cela semble s'appliquer uniquement aux GetNextWindow()
; Les autres fonctions listées sur Pinvoke sont correctes. Je peux appeler GetTopWindow()
et GetWindowText()
sans lever une exception.
Bien sûr, si vous pouvez proposer une manière complètement différente d'énumérer des fenêtres dans leur ordre Z actuel, je suis heureux d'entendre cela aussi.
droit. Et ce fil (http://social.msdn.microsoft.com/Forums/en-US/vbgeneral/thread/afa69b03-5425-4124-b9b4-f8c6cb9bcc9c) montre comment l'utiliser pour obtenir "prochaine" – hometoast
Brillant, merci vous charge! – Timwi
Quel est le point de GetNextWindow() en plus de confondre les pinvokers pauvres s'il prend les mêmes arguments que GetWindow() alors? – Traubenfuchs