当前位置:编程学习 > VB >>

VB 发送文本消息的问题

今天用按键精灵发现里面有个 sendstring(句柄,字符串)这样的命令 
它可以实现将一段文字发送到一个窗口中而且我测试了下 
Option Explicit
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 SendMessageByString Lib "user32" Alias _
        "SendMessageA" (ByVal Hwnd As Long, ByVal wMsg As Long, ByVal wParam _
        As Long, ByVal lParam As String) As Long
Private Declare Function SendMessageByNum Lib "user32" Alias "SendMessageA" (ByVal Hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Const EM_SETSEL = &HB1
Private Const EM_LINELENGTH = &HC1
Private Const EM_REPLACESEL = &HC2

Private Sub Command1_Click()
Dim K As Long, Hwd As Long, SendString As String
    Hwd = Text1.Text
    SendString = Text2.Text
    K = SendMessage(Hwd, EM_LINELENGTH, 1, 0)    '取得文本宽度
    SendMessageByNum Hwd, EM_SETSEL, 0, K    '选中文本
    SendMessageByString Hwd, EM_REPLACESEL, 1, SendString    '传递文本
End Sub 


这段代码对 穿越火线登录窗口的帐号密码框无效,
而按键精灵上面的方法却能够实现传递
这个非常神奇
希望高手能解答它是怎么做到的 

另外我想请教下 输入法的文本是怎么传递到文本框里的 
VB可以调用这个消息么???
因为我想按键精灵这个可能就是调用输入法传递文本的消息来实现的 Hwd = Text1.Text
本身就是错误的
Hwd As Long 已经定义数据类型了
就这水平就不要研究什么穿越防火墙了
凡事要量力而行 回复楼上的
这是网络上的原始代码 我修改后有很多变动 
你这么牛为什么不把我的问题解决 
在这里说风凉话算什么??? 另外我的确是初学者  但是我只是研究这里面的原理而不是不自量力
补充:VB ,  API
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,