setwindowtext
想做个QQ自动聊天器,可是遇到困难。。 为了方便大家,特意把代码简化,下面是出现错误的地方:
其中在设置消息框里面的消息时遇到问题:
n=setwindowtext( QQ消息框句柄, "要设置的消息 ")
msgbox n
N的返回值为1 ,可是QQ的发送消息框并没有任何待 发送的消息,请问,是不是不应该使用这个函数来设置QQ发送消息框里面的内容呢?
请问上面的程序错误的地方在哪里,谢谢!
QQ消息框句柄没有错误。
[解决办法]
//用sendkeys只能发送按键消息,照您的说法,是要我发送那些字母的按键啊
你的理解有误,它发送的是字串
//n = SendMessage(文本框句柄, WM_SETTEXT, 0, "hell! ")
MsgBox n
n的返回值为1,可是QQ文本框里根本没有反应。。。
修改为:
n = SendMessage(文本框句柄, WM_SETTEXT, 0, byval "hell! ")
MsgBox n
试试
[解决办法]
找到原因了,QQ用的不是Edit而是RichEdit.
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 EM_SETSEL = &HB1
Private Const EM_REPLACESEL = &HC2
Dim s As String
s = "hello world "
SendMessage h, EM_SETSEL, 0, -1
SendMessage h, EM_REPLACESEL, 0, ByVal s