Windows消息模拟器源码
.版本 2
.程序集 窗口程序集1
.程序集变量 捕获鼠标, 逻辑型
.子程序 __启动窗口_创建完毕
.局部变量 分行数组, 文本型, , "0"
.局部变量 分列数组, 文本型, , "0"
.局部变量 i, 整数型
图片框1.鼠标指针 = #光标_手型
连续赋值 (#光标_箭头, _启动窗口.鼠标指针, 标签1.鼠标指针, 消息_编辑框1.鼠标指针, 消息_编辑框2.鼠标指针, 消息_组合框1.鼠标指针, 消息_组合框2.鼠标指针, 消息_组合框3.鼠标指针, 按钮1.鼠标指针, 按钮2.鼠标指针)
连续赋值 (#光标_手型, 图片框2.鼠标指针, 超级链接框1.鼠标指针)
分行数组 = 分割文本 (#消息常量, #换行符, )
.计次循环首 (取数组成员数 (分行数组), i)
分列数组 = 分割文本 (分行数组 [i], “=”, )
消息_组合框1.加入项目 (分列数组 [1] + “(” + 分列数组 [2] + “)”, 到数值 (分列数组 [2]))
.计次循环尾 ()
.子程序 __启动窗口_尺寸被改变
宽度 = 宽度 - 取用户区宽度 () + 按钮2.左边 + 按钮2.宽度 + 8
高度 = 高度 - 取用户区高度 () + 按钮2.顶边 + 按钮2.高度 + 8
.子程序 _图片框1_鼠标左键被按下, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
.如果真 (捕获鼠标 = 假)
图片框1.鼠标指针 = #光标_圆型
图片框1.图片 = #图片2
捕获鼠标 = 真
处理事件 ()
SetCapture (图片框1.取窗口句柄 ())
.如果真结束
.子程序 _图片框1_鼠标左键被放开, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
.如果真 (捕获鼠标)
图片框1.鼠标指针 = #光标_手型
图片框1.图片 = #图片1
捕获鼠标 = 假
ReleaseCapture ()
.如果真结束
.子程序 _图片框1_鼠标位置被移动, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
.局部变量 pt, POINTAPI
.局部变量 hwnd, 整数型
.如果真 (捕获鼠标)
GetCursorPos (pt)
hwnd = WindowFromPoint (pt.x, pt.y)
消息_编辑框1.内容 = 到文本 (hwnd)
.如果真结束
.子程序 _按钮1_被单击
.局部变量 hwnd, 整数型, , , 要接收消息的那个窗口的句柄
.局部变量 wMsg, 整数型, , , 消息的标识符
.局部变量 wParam, 整数型, , , 具体取决于消息
.局部变量 lParam, 整数型, , , 具体取决于消息;
.局部变量 Ret, 整数型
.局部变量 Str, 文本型
hwnd = 到数值 (消息_编辑框1.内容)
.如果真 (hwnd ≠ 0)
Ret = 寻找文本 (消息_组合框1.内容, “(”, , 假)
.如果 (Ret ≠ -1)
Str = 删首尾空 (取文本右边 (消息_组合框1.内容, 取文本长度 (消息_组合框1.内容) - Ret))
Str = 取文本左边 (Str, 取文本长度 (Str) - 1)
wMsg = 到数值 (Str)
.否则
wMsg = 到数值 (消息_组合框1.内容)
.如果结束
wParam = 到数值 (消息_组合框2.内容)
lParam = 到数值 (消息_组合框3.内容)
.判断开始 (单选框1.选中)
消息_编辑框2.内容 = “SendMessage....”
处理事件 ()
Ret = SendMessage (hwnd, wMsg, wParam, lParam)
.判断 (单选框2.选中)
消息_编辑框2.内容 = “PostMessage....”
处理事件 ()
Ret = PostMessage (hwnd, wMsg, wParam, lParam)
.默认
.判断结束
消息_编辑框2.内容 = “返回值 ” + 到文本 (Ret)
.如果真结束
.子程序 _选择框1_被单击
总在最前 = 选择框1.选中
.子程序 _图片框2_鼠标右键被放开, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
超级链接框1.跳转 ()
图片框1.图片++.版本+2++.如果真+(捕获鼠标)
易语言windows消息例程