RT  等待答案

解决方案 »

  1.   

    Control.ControlCollection cs=new System.Windows.Forms.Control.ControlCollection(this);
    cs=this.Controls;
    foreach(Control c in cs)
    {
    MessageBox.Show(c.Name.ToString());
    }
      

  2.   

    FindWindowEx     
    我需要获得的是另外一个独立应用程序的控件
      

  3.   

    FindWindowEx能查找一个控件,不能遍历
      

  4.   

    那你可以通过  这个独立应用程序的程序名  获得对应的进程Process process = Process.GetProcessByName("xxx");
    然后通过枚举这个独立应用程序的控件
    EnumThreadWindows(pi.dwThreadId, etd, 0);
      

  5.   

    找到窗口,就可以直接用FindWindowEx找控件了
      

  6.   


    [DllImport("user32.dll", CharSet=CharSet.Auto)]
    public static extern IntPtr FindWindowEx(IntPtr parent, IntPtr next, string sClassName, IntPtr sWindowTitle);
    如:IntPtr hEdit = FindWindowEx(hDlg, IntPtr.Zero, "Edit", IntPtr.Zero);
      

  7.   

    如果在一个窗体里面存在多个 edit控件,FindWindowEx  只能找到索引最靠前的一个edit控件
    什么遍历那些 edit控件??
      

  8.   

    已经搞定了,用的这个  EnumChildWindows  API