获取窗口的所有句柄

时间:2010-01-07 12:20:34

标签: c# handles

我正在寻找一种方法来获取指定窗口中的所有句柄,
每个按钮和一切。 我尝试使用EnumDesktopWindows,但它不会枚举每个句柄,只有窗口句柄。

2 个答案:

答案 0 :(得分:2)

  public Form1()
  {
     InitializeComponent();
     List<IntPtr> handles = GetHandles(this.Controls);
  }

  public List<IntPtr> GetHandles(Control.ControlCollection inControls)
  {
     List<IntPtr> list_of_handles = new List<IntPtr>();
     if(inControls != null)
     {
        foreach (Control c in inControls)
        {
           list_of_handles.Add(c.Handle);
           list_of_handles.AddRange(GetHandles(c.Controls));
        }
     }
     return list_of_handles;
  }

答案 1 :(得分:0)

我认为他正试图获取另一个窗口的句柄,而不是他的窗口