111,092
社区成员




private void button1_Click(object sender, EventArgs e)
{
//获取被测试程序的窗口句柄
IntPtr mainWnd = FindWindow(null, "testform1");
List<int> listName = new List<int>();
StringBuilder name = new StringBuilder(256);
EnumChildWindows(mainWnd, new CallBack(delegate(IntPtr hwnd, int lParam)
{
listWnd.Add(hwnd);
// listName.Add(GetWindowText(handle, stringBuilder, stringBuilder.Capacity));
int a=GetWindowText(hwnd, name, 256);
listName.Add(a);
return true;
}), 0);
foreach (IntPtr i in listName)
{
string a = i.ToString();
textBox3.AppendText("\r\n " + a);
}
[DllImport("user32.dll")]
public static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter,
string lpszClass, string lpszWindow);
[DllImport("user32.dll", SetLastError = true)]
public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
public static extern int GetWindowText(IntPtr hWnd, StringBuilder lpString, int nMaxCount);
[DllImport("user32.dll")]
public static extern int EnumChildWindows(IntPtr hWndParent, CallBack lpfn, int lParam);
}