Документация Microsoft WinAPI, по-видимому, предполагает, что user32.dll содержит функцию с именем GetNextWindow()
, которая, как предполагается, позволяет перечислять открытые окна в их Z-последовательности, повторно вызывая эту функцию.
Pinvoke обычно дает мне необходимый оператор DllImport
для использования функций WinAPI из C #. Однако для GetNextWindow()
он не имеет записи. Поэтому я попытался построить свой собственный:
[DllImport("user32.dll")]
static extern IntPtr GetNextWindow(IntPtr hWnd, uint wCmd);
К сожалению, при попытке вызвать это, я получаю EntryPointNotFoundException
поговорку:
Unable to find an entry point named 'GetNextWindow' in DLL 'user32.dll'.
Похоже, это относится только к GetNextWindow()
; другие функции, которые перечислены на Pinvoke, в порядке. Я могу позвонить GetTopWindow()
и GetWindowText()
без исключения.
Конечно, если вы можете предложить совершенно другой способ перечисления окон в их текущем Z-порядке, я тоже рад это слышать.