用C#如何遍历外部窗口中的所有控件。(不是自己应用程序的控件,是第三方的窗口的控件)
我自己原本的思路:
1。先打开外部应用程序的窗口,
2。运行自己的程序,点击“寻找控件”的button后,最小化该程序,
3。用GetForegroundWindow获得外部窗口的句柄
4。用Control c1 = System.Windows.Forms.Control.FromHandle(m_hWnd)把句柄转化为控件类
5.把c1作为参数传入以下代码,
foreach (Control ct in c1)
{
AddControlInofToListBox(ct);
if (ct.HasChildren)
{
GetControl(ct.Controls);
}
}
问题:
第4步,FromHandle只能处理自己的窗口,对于外部窗口,永远返回null.
想问下有别的思路或者方法实现遍历外部窗口中所有控件的方法吗?谢谢!