本帖最后由 qjf309 于 2010-12-06 22:38:01 编辑

解决方案 »

  1.   

    根据SPY++中取得的类名(或标题名)及层次关系
    [DllImport("user32.dll", EntryPoint = "FindWindow")]
    private extern static IntPtr FindWindow(string lpClassName, string lpWindowName);
    [DllImport("user32.dll")]
    static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);private void button1_Click(object sender, EventArgs e)
    {
      IntPtr hWnd1 = FindWindow(null, "主窗口标题");   
      SetForegroundWindow(hWnd1);
      IntPtr hWnd2 = FindWindowEx(hWnd1, IntPtr.Zero, null, "控件文本");   
      IntPtr hWnd3 = FindWindowEx(hWnd1, IntPtr.Zero, "控件类名", null);   
      System.Text.StringBuilder str = new System.Text.StringBuilder(255);  
    SendMessage(hWnd2 , 0xD, str.Capacity, str);  
    MessageBox.Show(str.ToString());   
    }
      
      

  2.   

    我已经可以点击到子窗体了,子窗体里有一个Textbox,可不知道如何给他赋值,网上这方面的帮助文档,都比较少,都是不完整的 IntPtr hWnd1 = FindWindow(null, "XXX");
               SetForegroundWindow(hWnd1);
              IntPtr hWnd2 = FindWindowEx(hWnd1, IntPtr.Zero, "Button", "XX"); 
              SendMessage(hWnd2, 0x201, 0, 0);
             SendMessage(hWnd2, 0x202, 0, 0);
    hWnd2 是子窗体的按钮,已经单击了,后面,不知道在如何操作了,要给Textbox赋值,里面只有一个Textbox
      

  3.   

    还有那个子窗体里面还有三个button,我不知道如何调用他,我知道他们的标题
    一个Textbox,三个button
      

  4.   

    还有那个子窗体里面还有三个button,我不知道如何调用他,我知道他们的标题
    一个Textbox,三个button