[WIN32]Windows API宏SendMessage
这个函数将指定的消息发送到一个或多个窗口。此函数为指定的窗口调用窗口程序,直到窗口程序处理完消息再返回。而和函数PostMessage不同,PostMessage是将一个消息寄送到一个线程的消息队列后就立即返回。
函数原型
LRESULT SendMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM IParam)
Msg:指定被发送的消息。
wParam:指定附加的消息特定信息。
IParam:指定附加的消息特定信息。
返回值:返回值指定消息处理的结果,依赖于所发送的消息。
备注:在WinUser.h中根据是否已定义Unicode被定义为SendMessageW或SendMessageA,
头文件:winuser.h;
库文件:user32.lib。
函数原型
LRESULT SendMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM IParam)
AutoHotkey中的参数顺序如下:
SendMessage, Msg [, wParam, lParam, Control, WinTitle, WinText, ExcludeTitle, ExcludeText, Timeout]
SendMessage,Msg , wParam, lParam,控件标识可以空, 窗口标识
Msg:指定被发送的消息。
wParam:指定附加的消息特定信息。
IParam:指定附加的消息特定信息。
返回值:返回值指定消息处理的结果,依赖于所发送的消息。
备注:在WinUser.h中根据是否已定义Unicode被定义为SendMessageW或SendMessageA,
头文件:winuser.h;
库文件:user32.lib。
AutoHotkey调用方式:
; 例子: ahk中的函数 "SendMessage" 来改记事本窗口标题。 #z:: Run Notepad WinWait 无标题 - 记事本 SendMessage,0xC,, "哥要你改标题",,A ; 0XC 为 WM_SETTEXT ;SendMessage, 0xC, 0, "New Notepad Title" MsgBox 点击确定将关闭记事本 WM_CLOSE=0x10 WM_QUIT=0x12 SendMessage,WM_CLOSE, 0, 0,,哥要你改标题
c#语言:
[DllImport("user32.dll", EntryPoint="SendMessage")] public static extern int SendMessage (int hwnd,int wMsg,string wParam,string lParam); SendMessage的用法 SendMessage(句柄,消息的标识符,"取决于消息","取决于消息"); 从CSDN中可以查到消息 WM_SETTEXT =0x000C 那么可得 SendMessage(handelA, 0x000C, "", "哥要你改标题");
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: OJ--在有序数组中插入数据
- 下一篇: 第14周OJ实践 输入一个数插入有序数组中