有工程a和工程b
 工程a包括一个窗体form1它的caption属性为“c",在该窗体上有一个文本框text1
问题:如何在工程b中获得工程a中的text1的句柄。
 工程b中程序:
  Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
        (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
  Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" _
        (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, _
        ByVal lpsz2 As String) As Long  Private Sub Command1_Click()
   Dim wnd As Long
   wnd = FindWindow(vbNullString, "c")     ’可以得到句柄值,wnd有返回值
   wnd=FindWindowEx(wnd,0,"TextBox",vbnullstring)     '得不到句柄,wnd返回为0
 End Sub请高手指教。

解决方案 »

  1.   

    wnd=FindWindowEx(wnd,0,"ThunderTextBox",vbnullstring)
      

  2.   


       wnd=FindWindowEx(wnd,0,"ThunderTextBox",vbnullstring)     '类名是ThunderTextBox
      

  3.   

    还是返回0
    ThunderTextBox是textbox的类名吧,以前没看到过;
    wnd=FindWindowEx(wnd,0,"ThunderTextBox",vbnullstring),工程里还有什么地方要作修改的吗?
      

  4.   

    1、确定没有其他同名的窗体运行
    2、确定TextBox的TypeName(Text1.Container) = Form1
    否则下面的代码没有意义
    wnd = FindWindow("ThunderFormDC", "c") '注意检查wnd是否为0
    wnd=FindWindowEx(wnd,0,"ThunderTextBox",vbnullstring)
      

  5.   

    非常感谢,原来是wnd = FindWindow(vbNullString, "c")这里的问题,结贴