另一程序是用vb开发的:我用Spy++找到的窗口类:ThunderRT6FormDC,编辑框:ThunderRT6TextBox 复选: ThunderRT6CheckBox 单选:ThunderRT6OptionButton 按妞:ThunderRT6CommandButton 可我用以下方法确传不了值,请朋友们帮忙看看: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 Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const WM_SETTEXT = &HC
Dim hw As Long
Dim hwEX As Long
Private Sub Command1_Click()
hw = FindWindow(vbNullString, "程序名")
If hw Then
hwEX = FindWindowEx(hw, ByVal 0&, vbNullString, vbNullString)
hwEX = FindWindowEx(hw, ByVal 0&, "ThunderRT6TextBox", vbNullString)
SendMessage hwEX, WM_SETTEXT, 0, ByVal "张三"
End If
End Sub
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 Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const WM_SETTEXT = &HC
Dim hw As Long
Dim hwEX As Long
Private Sub Command1_Click()
hw = FindWindow(vbNullString, "程序名")
If hw Then
hwEX = FindWindowEx(hw, ByVal 0&, vbNullString, vbNullString)
hwEX = FindWindowEx(hw, ByVal 0&, "ThunderRT6TextBox", vbNullString)
SendMessage hwEX, WM_SETTEXT, 0, ByVal "张三"
End If
End Sub
tWnd = FindWindow(vbNullString, "Form1")
'tWnd = FindWindow("ThunderRT6FormDC", vbNullString)
bWnd = FindWindowEx(tWnd, ByVal 0&, "ThunderRT6TextBox", vbNullString)
SendMessage bWnd, WM_SETTEXT, 0, ByVal "张三"
是不是这个函数在Win2000下不能这样用啊?
sWnd = FindWindowEx(tWnd, bwnd, "ThunderRT6TextBox", vbNullString)这样试试