+ -
当前位置:首页 → 问答吧 → sendmessage的疑惑 讯息对话无法发送出去 请高手帮忙解惑一下

sendmessage的疑惑 讯息对话无法发送出去 请高手帮忙解惑一下

时间:2011-07-25

来源:互联网

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 Declare Function GetForegroundWindow Lib "user32" () As Long
Private Declare Function GetWindowTextLength Lib "user32" Alias "GetWindowTextLengthA" (ByVal hwnd As Long) As Long
Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) 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 FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long



Private Sub Timer1_Timer()

Dim hwnd2 As String
Dim leng As String
Dim b As Long

hwnd2 = FindWindowEx(0, 0, "CConvWndBase", vbNullString) '(CConvWndBase)<<即时通收发话窗口类名
'定义标题文字
leng = String(GetWindowTextLength(hwnd2) + 1, Chr$(0))
'取得一个窗体的标题(caption)文字,或者一个控件的内容(在vb里使用:使用vb窗体或控件的caption或text属性

GetWindowText hwnd2, leng, Len(leng)

Text1.Text = leng  '印出抓到的即时通帐号

b = FindWindowEx(hwnd2, 0, "YIMInputWindow", vbNullString)   '(YIMInputWindow)<<即时通发话窗口类名
'调用一个窗口的窗口函数,将一条消息发给那个窗口。

SendMessage b, WM_SETTEXT, 0, ByVal Text2.Text
Text2.Text = "你好"


End Sub



这只程式已经可以抓到即时通的帐号窗名  我把即时通收发话窗口定义为hwnd2 然后要调用hwnd2里的发话窗口出来

发送讯息 (YIMInputWindow)   可是怎么会发送不出去==   是我哪边有搞错  请高手指教一下 谢谢!!

作者: ctjh900801a   发布时间: 2011-07-25

SendMessage不是这样用的吧= =
如果你是要自动打字上去的话,
请参考 http://www.codeproject.com/KB/library/InputManager.aspx

作者: x33007   发布时间: 2011-07-31

热门下载

更多