Использование Microsoft Spy ++, я могу видеть, что следующие окна, которые принадлежат к процессу:Получить все оконные ручки для процесса
Обрабатывать ручки окна XYZ, отображаемые в виде дерева так же, как Spy ++ дает мне:
A
B
C
D
E
F
G
H
I
J
K
Я могу получить процесс, и свойство MainWindowHandle указывает на дескриптор окна F. Если я перечисляю дочерние окна, я могу получить список оконных дескрипторов для G-K, но я не могу понять, как найти дескрипторы окна для A до D. Как я могу перечислять окна, которые не являются дочерними элементами дескриптора, заданными MainWindowHandle объекта Process?
Перечислить Я использую вызов win32:
[System.Runtime.InteropServices.DllImport(strUSER32DLL)]
public static extern int EnumChildWindows(IntPtr hWnd, WindowCallBack pEnumWindowCallback, int iLParam);
Раньше существовал класс C#, который хорошо дополнял все это на сайте GotDotNet до его GotShutDown. Не могу найти его больше, но он где-то там ... –