vb中sendmessage函数的用法
发布网友
发布时间:2022-04-22 09:28
我来回答
共2个回答
热心网友
时间:2023-10-27 02:49
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
热心网友
时间:2023-10-27 02:49
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);