vb中sendmessage函数的用法

在vb中定义在这个函数是
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 WM_SETTEXT = &HC

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 FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetDlgItem Lib "user32" (ByVal hDlg As Long, ByVal nIDDlgItem As Long) As Long

Private Sub Command1_Click()
Dim s As String
Dim FT_hWnd As Long
Dim ID_Control_hWnd As Long

s = "你好"

FT_hWnd = FindWindow(vbNullString, "1.txt - 记事本")
If FT_hWnd = 0 Then
MsgBox "False", vbInformation, "Title"
End
End If

ID_Control_hWnd = GetDlgItem(FT_hWnd, &HF)
SendMessage ID_Control_hWnd, WM_SETTEXT, 0, ByVal s

End Sub
这个程序运行后是在文本文件里输入"你好"
我想问下如何能用这个函数给一个窗口发送一个模拟键盘操作的消息,例如我现在有一个游戏窗口"game" 然后用这个函数给这个窗口发送一个消息模拟按一下键盘上的某个按键应该怎么写程序呢??谢谢指教

第1个回答  2006-12-31
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 WM_SETTEXT = &HC
Private Sub Command1_Click()
SendMessage Text1.hwnd, WM_SETTEXT, 0, ByVal "hello"
End Sub本回答被网友采纳
第2个回答  推荐于2016-02-27
  sendmessage函数  
  函数功能:该函数将指定的消息发送到一个或多个窗口。此函数为指定的窗口调用窗口程序,直到窗口程序处理完消息再返回。而函数PostMessage不同,将一个消息寄送到一个线程的消息队列后立即返回。
  函数原型:LRESULT SendMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM IParam);
  
  参数:
  hWnd:其窗口程序将接收消息的窗口的句柄。如果此参数为HWND_BROADCAST,则消息将被发送到系统中所有顶层窗口,包括无效或不可见的非自身拥有的窗口、被覆盖的窗口和弹出式窗口,但消息不被发送到子窗口。
  Msg:指定被发送的消息。
  wParam:指定附加的消息指定信息。
  IParam:指定附加的消息指定信息。
  返回值:返回值指定消息处理的结果,依赖于所发送的消息。
  备注:需要用HWND_BROADCAST通信的应用程序应当使用函数RegisterWindowMessage来为应用程序间的通信取得一个唯一的消息。
  消息分三类:标准消息,命令消息,通告消息.
  标准消息通过解析Msg直接发送,命令消息通过解析标准消息的Msg获得WM_COMMAND,再解析wParam从而获得命令ID号消息.
  如: MFC类里面封装了窗口句柄我们可以这样用函数,SendMessage(WM_COMMAND,ID_NAME,0);

VB SendMessage概述
以下是改写后的文章内容,以HTML格式呈现:VB中的SendMessage函数是Windows API的一部分,用于在进程间发送消息。这个函数在扩展文本框的功能时非常实用,例如获取文本的行数、光标位置,以及指定行的文本。下面是一些相关声明和功能的实现:Public Declare Function SendMessage Lib "user32" Alias "SendMessa...

VB SendMessage函数原型
VB中的SendMessage函数用于向指定窗口发送消息,其函数原型如下:LRESULT SendMessage(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);这个函数的四个参数分别代表:hWnd: 发送消息的目标窗口句柄。如果设置为HWND_BROADCAST,则消息会被发送到所有顶层窗口,包括那些无效、不可见或非自身拥有的窗口,以...

VB中sendmessage具体用法
调用一个窗口的窗口函数,将一条消息发给那个窗口。除非消息处理完毕,否则该函数不会返回。SendMessageBynum, SendMessageByString是该函数的“类型安全”声明形式 用法:SendMessage 窗口句柄,消息标识符(也就是SendMessage需要做什么),消息标识符的反回值,消息标识符的反回值 返回值 Long,由具体的...

vb 怎么向一个窗口句柄发送一个回车键,就是按回车一次,但是呢,不能...
用API函数:sendmessage向窗口发送一个WM_KEYDOWN和WM_KEYUP详细就可以了。

VB中SendMessage的详细用法!
SendMessage函数功能描述:将指定的消息发送到一个或多个窗口。此函数为指定的窗口调用窗口过程,直到窗口过程处理完消息后才返回。参数:hWnd 窗口过程接收消息的窗口句柄。iparam指定附加消息的特定信息msg指定被发送的信息。

vb关闭其他程序的指定窗口
为实现VB程序关闭指定窗口的功能,可以使用SendMessage和DestroyWindow两种方法。SendMessage方法通过发送WM_CLOSE消息至窗口,实现窗口关闭。具体操作如下:1. 首先,声明SendMessage函数,参数包括窗口句柄、消息、命令参数和额外参数。WM_CLOSE消息的值为&H10,两个额外参数设置为0。2. 使用SendMessage函数后,...

VB中SendMessage和postmessage的详细用法。
SendMessage : 发送一个消息给操作系统,并且等待操作系统执行完这个消息。postmessage : 发送一个消息给操作系统,不等待操作系统执行完这个消息就立即返回执行下一条语句。 SendMessage 定义:Public Shared Sub SendMessage ( _ ByRef m As Message _ ) SendMessage 调用: Dim m As Message...

VB 中的sendmessage的用法 高手进
用API文本...把sendmessage函数插入进去!如下: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 WM_CLOSE = &H10 Pirvate sub command1)Click()Send...

问VB 中 sendmessage 函数 中的常用系统常量定义和说明
Function SendMessage Lib "user32"Alias "SendMessageA"(ByVal hwnd As Long,ByVal wMsg As Long,ByVal wParam As Long,lParam As Any)As Long 其中hwnd指定接受消息的窗口,参数wMsg指定消息值,参数wParam lParam分别定义传递到窗口的附加参数。而在Windows系统的很多消息中,有一些不仅仅是提供一...

vb 有关sendmessage
HT是HitTest缩写 HTCAPTION = 2是一个消息常量,你也可以自己定义名称。比如:点击标题栏=2,那么你调用sendmesage时就可以像下面这样写 Call SendMessage(hwnd,WM_NCLBUTTONDOWN,点击标题栏,0)

相似回答