控制qq发消息问题

rainbowsoftware 2007-09-05 10:23:09
帮忙看一下为什么不能将文本加到消息框中去发送?
Private Sub ButtonRefresh_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonRefresh.Click
ListView1.Items.Clear() '清除元素
hwnd = 0
i = 0
Dim str As String
While 1
hwnd = FindWindowEx(0, hwnd, "#32770", vbNullString)
If hwnd = 0 Then
Exit While
Else
str = New String(Chr(0), 50)
GetWindowText(hwnd, str, 50)
str = str.TrimEnd(Chr(0))
If str.StartsWith("与 ") And str.EndsWith(" 聊天中") Then
'聊天主窗口hwnd--子窗口hwnd2(发送BUTTON 和 hwnd3 的父窗口)--hwnd3(文本编辑框的父窗口)--文本编辑窗口句柄
hWndTalk(i) = hwnd '聊天主窗口句柄
hwnd2 = FindWindowEx(hwnd, 0, "#32770", vbNullString) '发送按钮 和 文本编辑框 的父窗口
hWndSend(i) = FindWindowEx(hwnd2, 0, vbNullString, "发送(&s)") '发送BUTTON 句柄
hwnd3 = FindWindowEx(hwnd2, 0, "AfxWnd42", vbNullString) '文本编辑框的父窗口
hWndEdit(i) = FindWindowEx(hwnd2, 0, "RICHEDIT", vbNullString) '文本编辑框的句柄
i += 1
str = str.Substring(2)
str = str.Replace(" 聊天中", "")
Dim item As Windows.Forms.ListViewItem
item = ListView1.Items.Add(str)
item.Checked = True
End If
End If
End While
End Sub

Private Sub SendMess()
For i = 0 To ListView1.Items.Count - 1
If ListView1.Items(i).Checked = True Then
SetWindowText(hWndEdit(i), sMess)
System.Threading.Thread.Sleep(iDelay)
SendMessage(hWndSend(i), WM_LBUTTONDOWN, 0, 0)
SendMessage(hWndSend(i), WM_LBUTTONUP, 0, 0)
End If
Next
...全文
215 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
rainbowsoftware 2007-09-06
  • 打赏
  • 举报
回复
高手?
rainbowsoftware 2007-09-05
  • 打赏
  • 举报
回复
能详细些吗
Red_angelX 2007-09-05
  • 打赏
  • 举报
回复
发送ctrl+enter试试
另外确保Handle没错
kuanghao08 2007-09-05
  • 打赏
  • 举报
回复
友情support
huangbie 2007-09-05
  • 打赏
  • 举报
回复
mark

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧