Согласно http://msdn.microsoft.com/en-us/library/ms633500 (v = vs.85) .aspx Я определяю функцию FindWindowEx.
using System.Runtime.InteropServices;
[DllImport("user32.dll", CharSet=CharSet.Unicode)]
static extern IntPtr FindWindowEx(IntPtr parentHandle, IntPtr childAfter, string lclassName, string windowTitle);
Теперь я я могу найти первый дескриптор элемента управления «Кнопка» (получить имя из Spy ++), установив childAfter как IntPtr.Zero .
IntPtr hWndParent = new IntPtr(2032496); // providing parent window handle
IntPtr hWndButton = FindWindowEx(hWndParent, IntPtr.Zero, "Button", string.Empty);
Как получить второй , третий или любой дескриптор элемента управления «Кнопка» внутри этого родительского окна? Дело в том, что названия кнопок могут отличаться, поэтому я не могу найти их напрямую по имени, определяющему четвертый параметр.