欢迎来到天天文库
浏览记录
ID:16036778
大小:74.50 KB
页数:11页
时间:2018-08-07
《sendmessage函数完全使用手》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、SendMessage函数完全使用手首先 我们了解一下Windows的消息机制。Windows是一个消息驱动式系统,Windows消息提供应用程序与应用程序之间,应用程序与Windows系统之间进行通信的手段。举个例子,打开记事本程序,该程序有一个“文件“菜单。那么,在运行该程序的时候,如果用户单击“文件菜单“里的“新建“命令,这个动作将被Windows所捕捉,Windows经过分析得知这个动作应该由我们打开的记事本程序所来处理,然后Windows就发送个消息譬如我们编程的时候有时用到的WM_COMMAND的消息给记事本,然后记事本就把这个消息处理掉。这个过程就是消息处理。接下来,我们把Sen
2、dMessage的完整形式讲一下 SendMessage DeclareFunctionSendMessageLib"user32"Alias"SendMessageA"(ByValhwndAsLong,ByValwMsgAsLong,ByValwParamAsLong,lParamAsAny)AsLong别名: SendMessageA说明: 调用一个窗口的窗口函数,将一条消息发给那个窗口。除非消息处理完毕,否则该函数不会返回SendMessage所包含4个参数:1. hwnd 32位的窗口句柄窗口可以是任何类型的屏幕对象,因为Win32能够维护大多
3、数可视对象的句柄2. wMsg 用于区别其他消息的常量值,这些常量可以是Windows单元中预定义的常量,也可以是自定义的常量3. wParam 通常是一个与消息有关的常量值,也可能是窗口或控件的句柄4. lParam 通常是一个指向内存中数据的指针。由于WParm、lParam和Pointer都是32位的,因此,它们之间可以相互转换wMsg函数 l WM_CREATE 创建一个窗口l WM_DESTROY 当一个窗口被破坏
4、时发送l WM_MOVE 移动一个窗口l WM_SIZE 改变一个窗口的大小l WM_ACTIVATE 一个窗口被激活或失去激活状态l WM_SETFOCUS 一个窗口获得焦点l WM_KILLFOCUS 一个窗口失去焦点l WM_ENABLE 一
5、个窗口改变成Enable状态l WM_SETREDRAW 设置窗口是否能重画11l WM_SETTEXT 应用程序发送此消息来设置一个窗口的文本l WM_GETTEXT 应用程序发送此消息来复制对应窗口的文本到缓冲区l WM_GETTEXTLENGTH 得到与一个窗口有关的文本的长度(不包含空字符)l WM_PAINT 要求
6、一个窗口重画自己l WM_CLOSE 当一个窗口或应用程序要关闭时发送一个信号l WM_QUERYENDSESSION 用户选择结束对话框或程序自己调用ExitWindows函数l WM_QUIT 用来结束程序运行WM_QUERYOPEN 用户窗口恢复以前的大小位置时,把此消息发送给某个图标l WM_ERASEBKGND 当窗口背景必须被擦除时(
7、例在窗口改变大小时)l WM_SYSCOLORCHANGE 当系统颜色改变时,发送此消息给所有顶级窗口l WM_QUERYENDSESSION 消息后,此消息发送给应用程序,通知它对话是否结束l WM_SHOWWINDOW 当隐藏或显示窗口是发送此消息给这个窗口l WM
此文档下载收益归作者所有