日期:2014-05-20  浏览次数:20726 次

已知一个窗口的句柄 如何遍历所有的控件(得到它们各自的属性)
就是我已知一个窗口 的句柄了 
  public void LoadControl(IntPtr p_Handle)
  {
  EnumWindowsProc _EunmControl = new EnumWindowsProc(NetEnumControl);
  EnumChildWindows(p_Handle, _EunmControl, 0);

  if (isShow)
  {
  MainFrm_Show();
  }
  isShow = false;
  }
遍历所有的控件应该是这样写的 可是问题是 我要如何知道每次遍历的时候 控件的句柄以及属性呢??

------解决方案--------------------
回调函数里不是有childwindow的句柄么?
http://topic.csdn.net/u/20110831/16/c6fe7ccb-0be0-4244-8945-86dc0baa268d.html
------解决方案--------------------
http://blog.csdn.net/wangyong0921/article/details/6693917

这个肯定可以解决
------解决方案--------------------
关于EnumCHildWindows可以参考这个:
http://qianglc.blog.163.com/blog/static/10306850320097111045667/

------解决方案--------------------
控件的句柄会作为回调函数的参数传进去

属性,只有用API获取。主要使用SendMessage,因为SDK中程序和控件的交互基本都是通过windows消息实现的。
没有办法简单地获得一个控件的“所有属性值”,只能一个个按需读取。