VB中SendMessage的详细用法!

举报 回答
VB中SendMessage的详细用法!
问在线客服
扫码问在线客服
  • 回答数

    8

  • 浏览数

    9,634

举报 回答

8个回答 默认排序
  • 默认排序
  • 按时间排序

没找到满意答案?去问豆包AI智能助手
取消 复制问题
已采纳
SendMessage函数功能描述:将指定的消息发送到一个或多个窗口。此函数为指定的窗口调用窗口过程,直到窗口过程处理完消息后才返回。参数:hWnd
窗口过程接收消息的窗口句柄。iparam指定附加消息的特定信息msg指定被发送的信息。
取消 评论
Private Declare Function PostMessage Lib user32 Alias PostMessageA (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Const WM_KEYDOWN = &H100
Private Const WM_KEYUP = &H101
Private Const VK_CONTROL = &H11
Private Const VK_END = &H23

Private Sub Command1_Click()
PostMessage Text1.hwnd, WM_KEYDOWN, VK_CONTROL, 0
PostMessage Text1.hwnd, WM_KEYDOWN, VK_END, 0
PostMessage Text1.hwnd, WM_KEYUP, VK_END, 0
PostMessage Text1.hwnd, WM_KEYUP, VK_RETURN, 0
'Text1.SetFocus
End Sub
这是在本地窗口上试验的,先在窗口上添加一个文本框和一个命令按钮,然后把上面的代码复制进去就可以了,如果是其他程序窗口中的文本框,先用findwindowex找到该文本框的句柄,替换掉上面的Text1.hwnd就行了

对于记事本这样界面非常简单(打开程序后焦点直接位于文本框控件之中)的程序,也可以用类似下面的代码:
Private Sub Command1_Click()
Dim lpid As Long
lpid = Shell(notepad.exe c:\a.txt, vbNormalFocus)
AppActivate lpid
SendKeys ^{END}
End Sub
取消 评论
执行文件5秒后向光标处发送中文,所以执行文件后赶紧设置光标位置,好像只能发送几个字符,可以多发送几次
Imports System.Threading
Public Class Form1

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
System.Threading.Thread.Sleep(5000)
SendKeys.Send(发送中文)
End Sub
End Class
取消 评论
PostMessage 是发入消息队列,不等待返回。
SendMessage 是直接发给目标窗体,并等待返回。
取消 评论
我手头有份详细的例子,是子窗口通信的,看了你就知道怎么用了,其实很简单,留下邮箱我发给你,骗人xxx的!(难听的省略)
取消 评论
相同类名就不能一个一个读了 要一起读出句柄 然后发送到每个句柄 看哪个是你想要的
取消 评论
消息 CB_INSERTSTRING 的返回值是列表项的索引,这个索引一般是从上到下由 0 开始。
你可以取得返回值之后,使用 CB_SETCURSEL 消息选中该项:
int index;
SendMessage(hComBox, CB_INSERTSTRING, 0, (LPARAM)_T(请选择));
SendMessage(hComBox, CB_INSERTSTRING, 0, (LPARAM)_T(1 - AAA));
index = (int)SendMessage(hComBox, CB_INSERTSTRING, 0, (LPARAM)_T(2 - BBB));
SendMessage(hComBox, CB_SETCURSEL, index, 0);
SendMessage(hComBox, CB_INSERTSTRING, 0, (LPARAM)_T(3 - CCC));
这样将 2 - BBB 选中。
取消 评论
做不到,你难道要做木马?
取消 评论
ZOL问答 > VB中SendMessage的详细用法!

举报

感谢您为社区的和谐贡献力量请选择举报类型

举报成功

经过核实后将会做出处理
感谢您为社区和谐做出贡献

扫码参与新品0元试用
晒单、顶楼豪礼等你拿

扫一扫,关注我们
提示

确定要取消此次报名,退出该活动?