.版本 2
.程序集 窗口程序集_启动窗口
.子程序 __启动窗口_创建完毕
.子程序 _标签1_鼠标左键被按下, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
' ╔══════════════════════════════════════════════════════╗
' ║ Windows 消息代码大全 ║
' ║ 调用格式:发送信息 (消息号, 参数1, 参数2) ║
' ╚══════════════════════════════════════════════════════╝
' ==================== 一、窗口操作 ====================' 发送信息 (1, 0, 0) ' 控件.退出
' 发送信息 (16, 0, 0) ' 控件.关闭
' 发送信息 (25, 0, 0) ' 控件.结束
' 发送信息 (12, 0, 0) ' 控件.清除标题
' 发送信息 (161, 2, 0) ' 控件.移动
' 发送信息 (274, 61458, 0) ' 控件.移动中 (61457-61471都有效)
' 发送信息 (274, 61456, 0) ' 控件.移动中/拖拽标题栏
' 发送信息 (274, 61441, 0) ' 控件.调整左边
' 发送信息 (274, 61442, 0) ' 控件.调整右边
' 发送信息 (274, 61443, 0) ' 控件.调整顶边
' 发送信息 (274, 61446, 0) ' 控件.调整底部
' 发送信息 (274, 61444, 0) ' 控件.调整左上角
' 发送信息 (274, 61445, 0) ' 控件.调整右上角
' 发送信息 (274, 61447, 0) ' 控件.调整左下角
' 发送信息 (274, 61448, 0) ' 控件.调整右下角
' 发送信息 (274, 61449, 0) ' 控件.移动
' 发送信息 (274, 61488, 0) ' 控件.最大化 (参数2在61488-61503都有效)
' 发送信息 (274, 61472, 0) ' 控件.最小化 (参数2在61472-61487都有效)
' 发送信息 (274, 61728, 0) ' 控件.还原 (SC_RESTORE)
' 发送信息 (274, 61760, 0) ' 窗口.启动屏幕保护 (SC_SCREENSAVE, 61760-61776都有效)
' 发送信息 (274, 61836, 0) ' 鼠标.带问号 (参数2在61824-61839都有效)
' 发送信息 (513, 0, 0) ' 鼠标.单击左键
' 发送信息 (274, 61450, 0) ' 控件.选中并鼠标显示四向箭头
' ==================== 二、控件通用操作 ====================
' 发送信息 (128, 0, 0) ' 控件.取标题/文本 (WM_GETTEXT)
' 发送信息 (130, 0, 0) ' 控件.取文本长度 (WM_GETTEXTLENGTH)
' 发送信息 (244, 0, 0) ' 控件.显示 (WM_SHOWWINDOW)
' 发送信息 (240, 0, 0) ' 控件.隐藏 (WM_ENABLE)
' 发送信息 (245, 1, 0) ' 控件.启用 (WM_ENABLE)
' 发送信息 (245, 0, 0) ' 控件.禁用/变灰
' 发送信息 (133, 1, 0) ' 控件.设置字体 (WM_SETFONT)
' 发送信息 (48, 1, 0) ' 控件.设置颜色 (WM_SETFONT)
' 发送信息 (6, 0, 0) ' 控件.刷新/重绘 (WM_PAINT)
' 发送信息 (5, 0, 0) ' 控件.改变尺寸 (WM_SIZE)
' 发送信息 (78, 0, 0) ' 控件.通知父窗口 (WM_NOTIFY)
' 发送信息 (7, 0, 0) ' 控件.获得焦点 (WM_SETFOCUS)
' 发送信息 (8, 0, 0) ' 控件.失去焦点 (WM_KILLFOCUS)
' 发送信息 (161, 2, 0) ' 控件.进入移动状态 (WM_NCLBUTTONDOWN)
' 发送信息 (274, 61449, 0) ' 控件.移动 (SC_SIZE+MOVE, 系统命令方式)
' 发送信息 (274, 61450, 0) ' 控件.选中并鼠标显示四向箭头
' 发送信息 (274, 61440, 0) ' 控件.选中并鼠标显示四向箭头 (备用值)
' ==================== 三、控件尺寸调整 ====================
' 发送信息 (274, 61441, 0) ' 控件.调整左边 (SC_SIZE+LEFT)
' 发送信息 (274, 61442, 0) ' 控件.调整右边 (SC_SIZE+RIGHT)
' 发送信息 (274, 61443, 0) ' 控件.调整顶边 (SC_SIZE+TOP)
' 发送信息 (274, 61446, 0) ' 控件.调整底部 (SC_SIZE+BOTTOM)
' 发送信息 (274, 61444, 0) ' 控件.调整左上角 (SC_SIZE+TOPLEFT)
' 发送信息 (274, 61445, 0) ' 控件.调整右上角 (SC_SIZE+TOPRIGHT)
' 发送信息 (274, 61447, 0) ' 控件.调整左下角 (SC_SIZE+BOTTOMLEFT)
' 发送信息 (274, 61448, 0) ' 控件.调整右下角 (SC_SIZE+BOTTOMRIGHT)
' ==================== 四、鼠标操作 ====================
' --- 左键 ---
' 发送信息 (513, 0, 0) ' 鼠标.左键按下 (WM_LBUTTONDOWN)
' 发送信息 (514, 0, 0) ' 鼠标.左键释放 (WM_LBUTTONUP)
' 发送信息 (515, 0, 0) ' 鼠标.左键双击 (WM_LBUTTONDBLCLK)
' --- 右键 ---
' 发送信息 (516, 0, 0) ' 鼠标.右键按下 (WM_RBUTTONDOWN)
' 发送信息 (517, 0, 0) ' 鼠标.右键释放 (WM_RBUTTONUP)
' 发送信息 (518, 0, 0) ' 鼠标.右键双击 (WM_RBUTTONDBLCLK)
' --- 中键 ---
' 发送信息 (519, 0, 0) ' 鼠标.中键按下 (WM_MBUTTONDOWN)
' 发送信息 (520, 0, 0) ' 鼠标.中键释放 (WM_MBUTTONUP)
' 发送信息 (521, 0, 0) ' 鼠标.中键双击 (WM_MBUTTONDBLCLK)
' --- 其他鼠标操作 ---
' 发送信息 (512, 0, 0) ' 鼠标.移动 (WM_MOUSEMOVE)
' 发送信息 (522, 0, 0) ' 鼠标.滚轮滚动 (WM_MOUSEWHEEL)
' 发送信息 (675, 0, 0) ' 鼠标.悬停 (WM_MOUSEHOVER)
' 发送信息 (673, 0, 0) ' 鼠标.离开 (WM_MOUSELEAVE)
' 发送信息 (123, 0, 0) ' 鼠标.右键单击 (WM_CONTEXTMENU)
' 发送信息 (274, 61836, 0) ' 鼠标.带问号 (SC_CONTEXTHELP, 61824-61839都有效)
' --- 带坐标的鼠标点击 ---
' 发送信息 (513, 1, 合并坐标) ' 鼠标.左键按下(指定位置)
' 发送信息 (514, 0, 合并坐标) ' 鼠标.左键释放(指定位置)
' 合并坐标 = 65536 * 纵坐标 + 横坐标
' --- 非客户区鼠标 ---
' 发送信息 (161, 0, 0) ' 鼠标.非客户区左键按下 (WM_NCLBUTTONDOWN)
' 发送信息 (162, 0, 0) ' 鼠标.非客户区左键释放 (WM_NCLBUTTONUP)
' 发送信息 (163, 0, 0) ' 鼠标.非客户区左键双击 (WM_NCLBUTTONDBLCLK)
' 发送信息 (164, 0, 0) ' 鼠标.非客户区右键按下 (WM_NCRBUTTONDOWN)
' 发送信息 (165, 0, 0) ' 鼠标.非客户区右键释放 (WM_NCRBUTTONUP)
' 发送信息 (166, 0, 0) ' 鼠标.非客户区右键双击 (WM_NCRBUTTONDBLCLK)
' ==================== 五、键盘操作 ====================
' --- 键盘消息 ---
' 发送信息 (256, 键代码, 0) ' 键盘.按键按下 (WM_KEYDOWN)
' 发送信息 (257, 键代码, 0) ' 键盘.按键释放 (WM_KEYUP)
' 发送信息 (258, 键代码, 0) ' 键盘.字符消息 (WM_CHAR)
' 发送信息 (260, 0, 0) ' 键盘.系统按键按下 (WM_SYSKEYDOWN, Alt组合键)
' 发送信息 (261, 0, 0) ' 键盘.系统按键释放 (WM_SYSKEYUP)
' 发送信息 (262, 0, 0) ' 键盘.系统字符 (WM_SYSCHAR)
' 发送信息 (263, 0, 0) ' 键盘.输入法结束组合 (WM_IME_ENDCOMPOSITION)
' --- 热键 ---
' 发送信息 (786, 0, 0) ' 键盘.热键消息 (WM_HOTKEY)
' ==================== 五-附、常用键盘键代码 ====================
' 键代码 8 = Backspace (退格键)
' 键代码 9 = Tab
' 键代码 12 = Clear (小键盘5, NumLock关)
' 键代码 13 = Enter (回车键)
' 键代码 16 = Shift
' 键代码 17 = Ctrl
' 键代码 18 = Alt
' 键代码 19 = Pause/Break
' 键代码 20 = Caps Lock
' 键代码 27 = Esc
' 键代码 32 = Space (空格键)
' 键代码 33 = Page Up
' 键代码 34 = Page Down
' 键代码 35 = End
' 键代码 36 = Home
' 键代码 37 = ← (方向键左)
' 键代码 38 = ↑ (方向键上)
' 键代码 39 = → (方向键右)
' 键代码 40 = ↓ (方向键下)
' 键代码 44 = Print Screen
' 键代码 45 = Insert
' 键代码 46 = Delete
' 键代码 48 = 0 (主键盘)
' 键代码 49 = 1
' 键代码 50 = 2
' 键代码 51 = 3
' 键代码 52 = 4
' 键代码 53 = 5
' 键代码 54 = 6
' 键代码 55 = 7
' 键代码 56 = 8
' 键代码 57 = 9
' 键代码 65 = A (66=B, 67=C ... 90=Z)
' 键代码 91 = 左Windows键
' 键代码 92 = 右Windows键
' 键代码 93 = 右键菜单键 (Application)
' 键代码 96 = 小键盘0 (NumLock开)
' 键代码 97 = 小键盘1
' 键代码 98 = 小键盘2
' 键代码 99 = 小键盘3
' 键代码 100 = 小键盘4
' 键代码 101 = 小键盘5
' 键代码 102 = 小键盘6
' 键代码 103 = 小键盘7
' 键代码 104 = 小键盘8
' 键代码 105 = 小键盘9
' 键代码 106 = 小键盘 *
' 键代码 107 = 小键盘 +
' 键代码 109 = 小键盘 -
' 键代码 110 = 小键盘 .
' 键代码 111 = 小键盘 /
' 键代码 112 = F1 (113=F2, 114=F3 ... 123=F12)
' 键代码 144 = Num Lock
' 键代码 145 = Scroll Lock
' 键代码 160 = 左Shift
' 键代码 161 = 右Shift
' 键代码 162 = 左Ctrl
' 键代码 163 = 右Ctrl
' 键代码 164 = 左Alt
' 键代码 165 = 右Alt
' 键代码 186 = ; (分号)
' 键代码 187 = = (等号)
' 键代码 188 = , (逗号)
' 键代码 189 = - (减号)
' 键代码 190 = . (句点)
' 键代码 191 = / (斜杠)
' 键代码 192 = ` (反引号)
' 键代码 219 = [ (左方括号)
' 键代码 220 = \ (反斜杠)
' 键代码 221 = ] (右方括号)
' 键代码 222 = ' (单引号)
' ==================== 六、编辑框操作 ====================
' --- 剪贴板 ---
' 发送信息 (769, 0, 0) ' 编辑框.复制 (WM_COPY)
' 发送信息 (770, 0, 0) ' 编辑框.粘贴 (WM_PASTE)
' 发送信息 (771, 0, 0) ' 编辑框.剪切 (WM_CUT)
' 发送信息 (768, 0, 0) ' 编辑框.删除 (WM_CLEAR)
' 发送信息 (772, 0, 0) ' 编辑框.撤销 (WM_UNDO)
' 发送信息 (179, 0, 0) ' 编辑框.撤销 (EM_UNDO, 同772)
' 发送信息 (180, 0, 0) ' 编辑框.重做 (EM_REDO, Win10部分支持)
' --- 选中操作 ---
' 发送信息 (177, 0, -1) ' 编辑框.全选 (EM_SETSEL, -1表示全选)
' 发送信息 (177, 0, 0) ' 编辑框.取消全选
' 发送信息 (177, 开始, 结束) ' 编辑框.选中指定位置文本
' 发送信息 (178, 0, 0) ' 编辑框.替换选中文本 (EM_REPLACESEL)
' --- 内容操作 ---
' 发送信息 (12, 1, 0) ' 编辑框.清空内容 (WM_SETTEXT)
' 发送信息 (194, 0, "内容") ' 编辑框.置内容 (WM_SETTEXT, 建议用DLL)
' 发送信息 (194, 1, "内容") ' 编辑框.追加内容 (需配合EM_SETSEL定位到末尾)
' 发送信息 (12, 0, 0) ' 编辑框.清除内容
' --- 状态操作 ---
' 发送信息 (197, 0, 0) ' 编辑框.设置只读 (EM_SETREADONLY)
' 发送信息 (207, 0, 0) ' 编辑框.取消只读
' 发送信息 (199, 1, 0) ' 编辑框.允许输入
' 发送信息 (199, 0, 0) ' 编辑框.禁止输入/变灰
' --- 行操作 ---
' 发送信息 (182, 0, 0) ' 编辑框.获取行数 (EM_GETLINECOUNT)
' 发送信息 (183, 0, 0) ' 编辑框.获取当前行号 (EM_LINEFROMCHAR)
' 发送信息 (186, 行号, 0) ' 编辑框.获取指定行文本长度 (EM_LINELENGTH)
' 发送信息 (187, 行号, 缓冲区) ' 编辑框.获取指定行文本 (EM_GETLINE)
' 发送信息 (188, 0, 0) ' 编辑框.获取当前行第一个字符索引 (EM_LINEINDEX)
' --- 字符操作 ---
' 发送信息 (196, 0, 0) ' 编辑框.获取总字符数 (EM_GETLIMITTEXT)
' 发送信息 (197, 最大字符数, 0)' 编辑框.设置最大字符数 (EM_LIMITTEXT)
' 发送信息 (176, 0, 0) ' 编辑框.获取选中文本起始位置 (EM_GETSEL)
' 发送信息 (184, 0, 0) ' 编辑框.设置左边距 (EM_SETMARGINS)
' 发送信息 (211, 0, 1) ' 编辑框.显示/隐藏选中内容 (EM_HIDESELECTION)
' --- 滚动 ---
' 发送信息 (277, 0, 0) ' 编辑框.向上滚动一行 (WM_VSCROLL, SB_LINEUP)
' 发送信息 (277, 1, 0) ' 编辑框.向下滚动一行 (SB_LINEDOWN)
' 发送信息 (277, 2, 0) ' 编辑框.向上滚动到头 (SB_TOP)
' 发送信息 (277, 3, 0) ' 编辑框.向下滚动到尾 (SB_BOTTOM)
' 发送信息 (277, 4, 0) ' 编辑框.向上翻页 (SB_PAGEUP)
' 发送信息 (277, 5, 0) ' 编辑框.向下翻页 (SB_PAGEDOWN)
' 发送信息 (277, 6, 0) ' 编辑框.滚动到指定位置 (SB_THUMBPOSITION)
' 发送信息 (277, 7, 0) ' 编辑框.拖动滑块 (SB_THUMBTRACK)
' 发送信息 (276, 0, 0) ' 编辑框.向左滚动一行 (WM_HSCROLL)
' 发送信息 (276, 1, 0) ' 编辑框.向右滚动一行
' 发送信息 (276, 2, 0) ' 编辑框.向左滚动到头
' 发送信息 (276, 3, 0) ' 编辑框.向右滚动到头
' 发送信息 (276, 4, 0) ' 编辑框.向左翻页
' 发送信息 (276, 5, 0) ' 编辑框.向右翻页
' --- 自动完成 ---
' 发送信息 (240, 0, 0) ' 编辑框.显示自动完成列表 (EM_SHOWAUTOCOMPLETE)
' ==================== 七、按钮操作 ====================
' 发送信息 (245, 0, 0) ' 按钮.单击 (BM_CLICK)
' 发送信息 (241, 0, 0) ' 按钮.获取选中状态 (BM_GETCHECK)
' 发送信息 (242, 0, 0) ' 按钮.设置选中状态 (BM_SETCHECK, 0=未选,1=选中,2=半选)
' 发送信息 (243, 0, 0) ' 按钮.获取状态 (BM_GETSTATE)
' 发送信息 (244, 0, 0) ' 按钮.设置状态 (BM_SETSTATE)
' 发送信息 (246, 0, 0) ' 按钮.设置样式 (BM_SETSTYLE)
' 发送信息 (247, 0, 0) ' 按钮.获取样式 (BM_GETSTYLE)
' 发送信息 (224, 0, 0) ' 按钮.设置图像 (BM_SETIMAGE)
' 发送信息 (225, 0, 0) ' 按钮.获取图像 (BM_GETIMAGE)
' ==================== 八、组合框操作 ====================
' --- 下拉 ---
' 发送信息 (335, 1, 0) ' 组合框.弹出下拉列表 (CB_SHOWDROPDOWN, 1=展开)
' 发送信息 (335, 0, 0) ' 组合框.收缩下拉列表 (0=收起)
' --- 项目操作 ---
' 发送信息 (336, 0, 0) ' 组合框.添加项 (CB_ADDSTRING)
' 发送信息 (337, 0, 0) ' 组合框.删除项 (CB_DELETESTRING)
' 发送信息 (338, 0, 0) ' 组合框.插入项 (CB_INSERTSTRING)
' 发送信息 (339, 0, 0) ' 组合框.查找项 (CB_FINDSTRING)
' 发送信息 (340, 0, 0) ' 组合框.获取当前选中项文本 (CB_GETLBTEXT)
' 发送信息 (341, 0, 0) ' 组合框.获取项文本长度 (CB_GETLBTEXTLEN)
' 发送信息 (342, 0, 0) ' 组合框.获取项数 (CB_GETCOUNT)
' 发送信息 (343, 0, 0) ' 组合框.获取当前选中项索引 (CB_GETCURSEL)
' 发送信息 (344, 0, 0) ' 组合框.选中某项 (CB_SETCURSEL)
' 发送信息 (345, 0, 0) ' 组合框.设置编辑框文本 (CB_SETEDITSEL)
' 发送信息 (346, 0, 0) ' 组合框.获取编辑框文本 (CB_GETEDITSEL)
' 发送信息 (352, 0, 0) ' 组合框.设置项数据 (CB_SETITEMDATA)
' 发送信息 (353, 0, 0) ' 组合框.获取项数据 (CB_GETITEMDATA)
' 发送信息 (334, 0, 0) ' 组合框.清空所有项 (CB_RESETCONTENT)
' 发送信息 (357, 0, 0) ' 组合框.获取下拉列表句柄 (CB_GETCOMBOBOXINFO)
' 发送信息 (358, 0, 0) ' 组合框.设置最小可见项数 (CB_SETMINVISIBLE)
' ==================== 九、列表框操作 ====================
' 发送信息 (384, 0, 0) ' 列表框.添加项 (LB_ADDSTRING)
' 发送信息 (385, 0, 0) ' 列表框.插入项 (LB_INSERTSTRING)
' 发送信息 (386, 0, 0) ' 列表框.删除项 (LB_DELETESTRING)
' 发送信息 (388, 0, 0) ' 列表框.清空 (LB_RESETCONTENT)
' 发送信息 (390, 0, 0) ' 列表框.获取选中项索引 (LB_GETCURSEL)
' 发送信息 (392, 0, 0) ' 列表框.获取项文本 (LB_GETTEXT)
' 发送信息 (393, 0, 0) ' 列表框.获取项文本长度 (LB_GETTEXTLEN)
' 发送信息 (395, 0, 0) ' 列表框.获取项数 (LB_GETCOUNT)
' 发送信息 (397, 0, 0) ' 列表框.选中某项 (LB_SETCURSEL)
' 发送信息 (398, 0, 0) ' 列表框.获取多选状态 (LB_GETSEL)
' 发送信息 (399, 0, 0) ' 列表框.设置多选状态 (LB_SETSEL)
' 发送信息 (400, 0, 0) ' 列表框.获取多选项数 (LB_GETSELCOUNT)
' 发送信息 (401, 0, 0) ' 列表框.获取多选项索引 (LB_GETSELITEMS)
' 发送信息 (402, 0, 0) ' 列表框.查找项 (LB_FINDSTRING)
' 发送信息 (403, 0, 0) ' 列表框.精确查找项 (LB_FINDSTRINGEXACT)
' 发送信息 (404, 0, 0) ' 列表框.设置项数据 (LB_SETITEMDATA)
' 发送信息 (405, 0, 0) ' 列表框.获取项数据 (LB_GETITEMDATA)
' 发送信息 (406, 0, 0) ' 列表框.设置水平滚动宽度 (LB_SETHORIZONTALEXTENT)
' 发送信息 (407, 0, 0) ' 列表框.设置水平滚动宽度 (LB_GETHORIZONTALEXTENT)
' 发送信息 (408, 0, 0) ' 列表框.设置列宽 (LB_SETCOLUMNWIDTH)
' 发送信息 (409, 0, 0) ' 列表框.获取项高度 (LB_GETITEMHEIGHT)
' 发送信息 (416, 0, 0) ' 列表框.设置定位索引 (LB_SETCARETINDEX)
' 发送信息 (417, 0, 0) ' 列表框.获取定位索引 (LB_GETCARETINDEX)
' 发送信息 (410, 0, 0) ' 列表框.设置顶部可见项索引 (LB_SETTOPINDEX)
' 发送信息 (411, 0, 0) ' 列表框.获取顶部可见项索引 (LB_GETTOPINDEX)
' 发送信息 (414, 0, 0) ' 列表框.获取指定项区域 (LB_GETITEMRECT)
' ==================== 十、滚动条操作 ====================
' 发送信息 (276, 0, 0) ' 滚动条.向上/向左一行 (SB_LINEUP/SB_LINELEFT)
' 发送信息 (276, 1, 0) ' 滚动条.向下/向右一行 (SB_LINEDOWN/SB_LINERIGHT)
' 发送信息 (276, 2, 0) ' 滚动条.顶部/最左 (SB_TOP/SB_LEFT)
' 发送信息 (276, 3, 0) ' 滚动条.底部/最右 (SB_BOTTOM/SB_RIGHT)
' 发送信息 (276, 4, 0) ' 滚动条.向上/向左一页 (SB_PAGEUP/SB_PAGELEFT)
' 发送信息 (276, 5, 0) ' 滚动条.向下/向右一页 (SB_PAGEDOWN/SB_PAGERIGHT)
' 发送信息 (276, 6, 0) ' 滚动条.滚到指定位置 (SB_THUMBPOSITION)
' 发送信息 (276, 7, 0) ' 滚动条.拖动滑块 (SB_THUMBTRACK)
' 发送信息 (276, 8, 0) ' 滚动条.结束拖动 (SB_ENDSCROLL)
' 发送信息 (224, 0, 0) ' 滚动条.设置滚动范围 (SBM_SETSCROLLINFO)
' 发送信息 (225, 0, 0) ' 滚动条.获取滚动信息 (SBM_GETSCROLLINFO)
' 发送信息 (226, 0, 0) ' 滚动条.设置滑块位置 (SBM_SETPOS)
' 发送信息 (227, 0, 0) ' 滚动条.获取滑块位置 (SBM_GETPOS)
' 发送信息 (228, 0, 0) ' 滚动条.设置滚动范围 (SBM_SETRANGE)
' 发送信息 (229, 0, 0) ' 滚动条.获取滚动范围 (SBM_GETRANGE)
' ==================== 十一、树形框操作 ====================
' 发送信息 (4353, 0, 0) ' 树形框.展开所有 (TVM_EXPAND)
' 发送信息 (4354, 0, 0) ' 树形框.折叠所有
' 发送信息 (4364, 0, 0) ' 树形框.获取选中项 (TVM_GETNEXTITEM)
' 发送信息 (4368, 0, 0) ' 树形框.插入项 (TVM_INSERTITEM)
' 发送信息 (4370, 0, 0) ' 树形框.删除项 (TVM_DELETEITEM)
' 发送信息 (4371, 0, 0) ' 树形框.删除所有项
' 发送信息 (4415, 0, 0) ' 树形框.获取项文本 (TVM_GETITEM)
' 发送信息 (4416, 0, 0) ' 树形框.设置项文本 (TVM_SETITEM)
' 发送信息 (4362, 0, 0) ' 树形框.选中项 (TVM_SELECTITEM)
' 发送信息 (4363, 0, 0) ' 树形框.编辑项文本 (TVM_EDITLABEL)
' 发送信息 (4365, 0, 0) ' 树形框.获取父项 (TVM_GETNEXTITEM)
' 发送信息 (4366, 0, 0) ' 树形框.获取子项 (TVM_GETNEXTITEM)
' 发送信息 (4367, 0, 0) ' 树形框.获取根项 (TVM_GETNEXTITEM)
' 发送信息 (4369, 0, 0) ' 树形框.排序 (TVM_SORTCHILDREN)
' 发送信息 (4373, 0, 0) ' 树形框.获取可见项数 (TVM_GETVISIBLECOUNT)
' 发送信息 (4372, 0, 0) ' 树形框.确保可见 (TVM_ENSUREVISIBLE)
' 发送信息 (4379, 0, 0) ' 树形框.设置缩进 (TVM_SETINDENT)
' ==================== 十二、列表视图操作 ====================
' 发送信息 (4101, 0, 0) ' 列表视图.插入列 (LVM_INSERTCOLUMN)
' 发送信息 (4102, 0, 0) ' 列表视图.删除列 (LVM_DELETECOLUMN)
' 发送信息 (4103, 0, 0) ' 列表视图.获取列宽 (LVM_GETCOLUMNWIDTH)
' 发送信息 (4104, 0, 0) ' 列表视图.设置列宽 (LVM_SETCOLUMNWIDTH)
' 发送信息 (4105, 0, 0) ' 列表视图.获取列数 (LVM_GETCOLUMN)
' 发送信息 (4106, 0, 0) ' 列表视图.插入项 (LVM_INSERTITEM)
' 发送信息 (4107, 0, 0) ' 列表视图.删除项 (LVM_DELETEITEM)
' 发送信息 (4108, 0, 0) ' 列表视图.删除所有项 (LVM_DELETEALLITEMS)
' 发送信息 (4109, 0, 0) ' 列表视图.获取项文本 (LVM_GETITEMTEXT)
' 发送信息 (4110, 0, 0) ' 列表视图.设置项文本 (LVM_SETITEMTEXT)
' 发送信息 (4111, 0, 0) ' 列表视图.获取项数 (LVM_GETITEMCOUNT)
' 发送信息 (4112, 0, 0) ' 列表视图.获取选中项索引 (LVM_GETNEXTITEM)
' 发送信息 (4113, 0, 0) ' 列表视图.设置选中项 (LVM_SETITEMSTATE)
' 发送信息 (4114, 0, 0) ' 列表视图.获取项状态 (LVM_GETITEMSTATE)
' 发送信息 (4115, 0, 0) ' 列表视图.设置扩展样式 (LVM_SETEXTENDEDLISTVIEWSTYLE)
' 发送信息 (4116, 0, 0) ' 列表视图.获取扩展样式 (LVM_GETEXTENDEDLISTVIEWSTYLE)
' 发送信息 (4117, 0, 0) ' 列表视图.排序 (LVM_SORTITEMS)
' 发送信息 (4118, 0, 0) ' 列表视图.查找项 (LVM_FINDITEM)
' 发送信息 (4119, 0, 0) ' 列表视图.编辑项文本 (LVM_EDITLABEL)
' 发送信息 (4144, 0, 0) ' 列表视图.获取头控件句柄 (LVM_GETHEADER)
' 发送信息 (4151, 0, 0) ' 列表视图.设置整行选中 (LVM_SETEXTENDEDLISTVIEWSTYLE)
' 发送信息 (4237, 0, 0) ' 列表视图.获取已勾选项 (LVM_GETCHECKEDSTATE)
' ==================== 十三、进度条操作 ====================
' 发送信息 (1024, 0, 0) ' 进度条.设置范围 (PBM_SETRANGE)
' 发送信息 (1025, 0, 0) ' 进度条.设置范围32 (PBM_SETRANGE32)
' 发送信息 (1026, 0, 0) ' 进度条.设置位置 (PBM_SETPOS)
' 发送信息 (1027, 0, 0) ' 进度条.获取范围 (PBM_GETRANGE)
' 发送信息 (1028, 0, 0) ' 进度条.获取位置 (PBM_GETPOS)
' 发送信息 (1029, 0, 0) ' 进度条.前进 (PBM_DELTAPOS)
' 发送信息 (1030, 0, 0) ' 进度条.设置步进值 (PBM_SETSTEP)
' 发送信息 (1031, 0, 0) ' 进度条.步进一次 (PBM_STEPIT)
' 发送信息 (1033, 0, 0) ' 进度条.设置颜色 (PBM_SETBARCOLOR)
' 发送信息 (1034, 0, 0) ' 进度条.设置背景色 (PBM_SETBKCOLOR)
' 发送信息 (1040, 0, 0) ' 进度条.设置为垂直 (PBM_SETSTYLE)
' 发送信息 (1041, 0, 0) ' 进度条.设置为进度模式 (PBM_SETMARQUEE)
' ==================== 十四、滑块条操作 ====================
' 发送信息 (1024, 0, 0) ' 滑块条.设置范围 (TBM_SETRANGE)
' 发送信息 (1025, 0, 0) ' 滑块条.设置位置 (TBM_SETPOS)
' 发送信息 (1026, 0, 0) ' 滑块条.获取位置 (TBM_GETPOS)
' 发送信息 (1027, 0, 0) ' 滑块条.设置刻度频率 (TBM_SETTICFREQ)
' 发送信息 (1028, 0, 0) ' 滑块条.设置行变化 (TBM_SETLINESIZE)
' 发送信息 (1029, 0, 0) ' 滑块条.设置页变化 (TBM_SETPAGESIZE)
' 发送信息 (1030, 0, 0) ' 滑块条.获取范围 (TBM_GETRANGE)
' 发送信息 (1031, 0, 0) ' 滑块条.清除刻度 (TBM_CLEARTICS)
' 发送信息 (1032, 0, 0) ' 滑块条.设置选择范围 (TBM_SETSEL)
' 发送信息 (1033, 0, 0) ' 滑块条.获取选择范围 (TBM_GETSEL)
' ==================== 十五、菜单操作 ====================
' 发送信息 (273, 菜单ID, 0) ' 菜单.模拟点击 (WM_COMMAND)
' 发送信息 (287, 0, 0) ' 菜单.弹出系统菜单 (WM_CONTEXTMENU)
' 发送信息 (294, 0, 0) ' 菜单.获取菜单 (WM_INITMENU)
' 发送信息 (295, 0, 0) ' 菜单.获取菜单弹出 (WM_INITMENUPOPUP)
' 发送信息 (288, 0, 0) ' 菜单.选择项 (WM_MENUSELECT)
' 发送信息 (289, 0, 0) ' 菜单.命令 (WM_COMMAND)
' 发送信息 (292, 0, 0) ' 菜单.激活 (WM_MENUACTIVATE)
' ==================== 十六、系统操作 ====================
' 发送信息 (274, 61744, 0) ' 系统.关机 (SC_SHUTDOWN)
' 发送信息 (274, 61745, 0) ' 系统.重启 (SC_REBOOT)
' 发送信息 (274, 61746, 0) ' 系统.注销 (SC_LOGOFF)
' 发送信息 (274, 61808, 0) ' 系统.打开任务管理器 (SC_TASKLIST)
' 发送信息 (274, 61728, 0) ' 系统.显示桌面 (SC_RESTORE)
' 发送信息 (274, 61792, 0) ' 系统.锁定工作站
' 发送信息 (274, 61824, 0) ' 系统.切换用户
' 发送信息 (26, 0, 0) ' 系统.电源状态变化 (WM_POWER)
' 发送信息 (536, 0, 0) ' 系统.电源广播 (WM_POWERBROADCAST)
' 发送信息 (22, 0, 0) ' 系统.结束会话 (WM_ENDSESSION)
' 发送信息 (30, 0, 0) ' 系统.设置光标 (WM_SETCURSOR)
' 发送信息 (42, 0, 0) ' 系统.创建副本 (WM_COPYDATA, 跨进程通信)
' 发送信息 (74, 0, 0) ' 系统.副本数据 (WM_COPYDATA)
' 发送信息 (537, 0, 0) ' 系统.设备变化 (WM_DEVICECHANGE)
' ==================== 十七、剪贴板操作 ====================
' 发送信息 (776, 0, 0) ' 剪贴板.清空 (WM_DESTROYCLIPBOARD)
' 发送信息 (775, 0, 0) ' 剪贴板.获取格式 (WM_RENDERFORMAT)
' 发送信息 (777, 0, 0) ' 剪贴板.内容变化 (WM_DRAWCLIPBOARD)
' 发送信息 (778, 0, 0) ' 剪贴板.获取所有者 (WM_PAINTCLIPBOARD)
' 发送信息 (779, 0, 0) ' 剪贴板.改变链 (WM_CHANGECBCHAIN)
' ==================== 十八、拖拽操作 ====================
' 发送信息 (1025, 0, 0) ' 拖拽.开始 (WM_DROPFILES)
' 发送信息 (563, 0, 0) ' 拖拽.完成 (WM_DROPFILES)
' 发送信息 (562, 0, 0) ' 拖拽.文件进入 (WM_DROPFILES)
' 发送信息 (561, 0, 0) ' 拖拽.文件离开 (WM_DROPFILES)
' 发送信息 (560, 0, 0) ' 拖拽.文件悬停 (WM_DROPFILES)
' ==================== 十九、定时器操作 ====================
' 发送信息 (275, 定时器ID, 0) ' 定时器.触发 (WM_TIMER)
' 发送信息 (113, 0, 0) ' 定时器.设置 (WM_TIMER)
' ==================== 二十、绘制/自绘操作 ====================
' 发送信息 (15, 0, 0) ' 绘制.开始 (WM_PAINT)
' 发送信息 (791, 0, 0) ' 绘制.背景擦除 (WM_ERASEBKGND)
' 发送信息 (312, 0, 0) ' 绘制.项目绘制 (WM_DRAWITEM)
' 发送信息 (43, 0, 0) ' 绘制.测量项目 (WM_MEASUREITEM)
' 发送信息 (44, 0, 0) ' 绘制.比较项目 (WM_COMPAREITEM)
' 发送信息 (45, 0, 0) ' 绘制.删除项目 (WM_DELETEITEM)
' 发送信息 (49, 0, 0) ' 绘制.颜色变化 (WM_CTLCOLOR)
' 发送信息 (135, 0, 0) ' 绘制.控件颜色 (WM_CTLCOLORBTN)
' 发送信息 (136, 0, 0) ' 绘制.编辑框颜色 (WM_CTLCOLOREDIT)
' 发送信息 (137, 0, 0) ' 绘制.列表框颜色 (WM_CTLCOLORLISTBOX)
' 发送信息 (138, 0, 0) ' 绘制.静态控件颜色 (WM_CTLCOLORSTATIC)
' 发送信息 (139, 0, 0) ' 绘制.滚动条颜色 (WM_CTLCOLORSCROLLBAR)
' 发送信息 (140, 0, 0) ' 绘制.对话框颜色 (WM_CTLCOLORDLG)
' ==================== 二十一、字体/打印操作 ====================
' 发送信息 (29, 0, 0) ' 字体.变化 (WM_FONTCHANGE)
' 发送信息 (48, 0, 0) ' 字体.设置 (WM_SETFONT)
' 发送信息 (49, 0, 0) ' 字体.获取 (WM_GETFONT)
' 发送信息 (793, 0, 0) ' 打印.设置对话框 (WM_PRINT)
' 发送信息 (794, 0, 0) ' 打印.客户区 (WM_PRINTCLIENT)
' ==================== 二十二、DLL命令定义(放在程序集最上方) ====================
' ╔═══════════════════════════════════════════╗
' ║ 需要放在程序集顶部的DLL声明 ║
' ╚═══════════════════════════════════════════╝
'
' .版本 2
'
' .DLL命令 发送文本消息, 整数型, "user32.dll", "SendMessageA"
' .参数 窗口句柄, 整数型
' .参数 标识, 整数型
' .参数 消息1, 整数型
' .参数 消息2, 文本型
'
' .DLL命令 按键消息, 整数型, "user32.dll", "PostMessageA"
' .参数 句柄, 整数型
' .参数 消息, 整数型
' .参数 键代码, 整数型
' .参数 参数, 整数型
'
' .DLL命令 投递消息, 整数型, "user32.dll", "PostMessageA"
' .参数 窗口句柄, 整数型
' .参数 消息号, 整数型
' .参数 参数1, 整数型
' .参数 参数2, 整数型
'
' ╔═══════════════════════════════════════════╗
' ║ 常用调用示例 ║
' ╚═══════════════════════════════════════════╝
'
' 发送文本消息(编辑框句柄, 194, 1, "文本内容") ' 向编辑框发送文本
' 按键消息(窗口句柄, 258, 13, 0) ' 向窗口发送回车键
' 投递消息(窗口句柄, 256, 13, 0) ' 按下回车键
' 投递消息(窗口句柄, 257, 13, 0) ' 释放回车键
' ==================== 二十三、消息常量对照表(参考) ====================
' WM_NULL = 0 ' 空消息
' WM_CREATE = 1 ' 创建窗口
' WM_DESTROY = 2 ' 销毁窗口
' WM_MOVE = 3 ' 移动窗口
' WM_SIZE = 5 ' 改变窗口大小
' WM_ACTIVATE = 6 ' 激活窗口
' WM_SETFOCUS = 7 ' 获得焦点
' WM_KILLFOCUS = 8 ' 失去焦点
' WM_ENABLE = 10 ' 启用/禁用
' WM_SETTEXT = 12 ' 设置文本
' WM_GETTEXT = 13 ' 获取文本
' WM_GETTEXTLENGTH = 14 ' 获取文本长度
' WM_PAINT = 15 ' 绘制
' WM_CLOSE = 16 ' 关闭
' WM_QUIT = 18 ' 退出消息循环
' WM_QUERYOPEN = 19 ' 查询打开
' WM_ERASEBKGND = 20 ' 擦除背景
' WM_QUERYENDSESSION = 17 ' 查询结束会话
' WM_ENDSESSION = 22 ' 结束会话
' WM_SHOWWINDOW = 24 ' 显示/隐藏
' WM_SETTINGCHANGE = 26 ' 系统设置变化
' WM_ACTIVATEAPP = 28 ' 应用程序激活
' WM_FONTCHANGE = 29 ' 字体变化
' WM_SETCURSOR = 32 ' 设置光标
' WM_MOUSEACTIVATE = 33 ' 鼠标激活
' WM_GETMINMAXINFO = 36 ' 获取最小最大信息
' WM_WINDOWPOSCHANGING = 70 ' 窗口位置即将变化
' WM_WINDOWPOSCHANGED = 71 ' 窗口位置已变化
' WM_NOTIFY = 78 ' 控件通知父窗口
' WM_CONTEXTMENU = 123 ' 右键菜单
' WM_KEYDOWN = 256 ' 按键按下
' WM_KEYUP = 257 ' 按键释放
' WM_CHAR = 258 ' 字符消息
' WM_SYSKEYDOWN = 260 ' 系统键按下
' WM_SYSKEYUP = 261 ' 系统键释放
' WM_COMMAND = 273 ' 命令消息
' WM_SYSCOMMAND = 274 ' 系统命令
' WM_TIMER = 275 ' 定时器
' WM_HSCROLL = 276 ' 水平滚动
' WM_VSCROLL = 277 ' 垂直滚动
' WM_INITMENU = 278 ' 初始化菜单
' WM_INITMENUPOPUP = 279 ' 初始化弹出菜单
' WM_MENUSELECT = 287 ' 菜单选择
' WM_MOUSEACTIVATE = 33 ' 鼠标激活
' WM_MOUSEMOVE = 512 ' 鼠标移动
' WM_LBUTTONDOWN = 513 ' 左键按下
' WM_LBUTTONUP = 514 ' 左键释放
' WM_LBUTTONDBLCLK = 515 ' 左键双击
' WM_RBUTTONDOWN = 516 ' 右键按下
' WM_RBUTTONUP = 517 ' 右键释放
' WM_RBUTTONDBLCLK = 518 ' 右键双击
' WM_MBUTTONDOWN = 519 ' 中键按下
' WM_MBUTTONUP = 520 ' 中键释放
' WM_MBUTTONDBLCLK = 521 ' 中键双击
' WM_MOUSEWHEEL = 522 ' 鼠标滚轮
' WM_DROPFILES = 563 ' 拖拽文件
' WM_COPYDATA = 74 ' 跨进程数据传递
' WM_HOTKEY = 786 ' 热键
' ╔══════════════════════════════════════════════════════╗
' ║ 备注说明 ║
' ╠══════════════════════════════════════════════════════╣
' ║ 1. 发送信息() = SendMessage,会等待返回值 ║
' ║ 2. 投递消息() = PostMessage,不等待返回,放入消息队列 ║
' ║ 3. 跨进程操作外部控件需先获取目标控件句柄 ║
' ║ 4. 句柄获取方式:FindWindow / FindWindowEx / EnumChild ║
' ║ 5. 部分消息在不同系统版本效果可能不同 ║
' ║ 6. 系统命令(274)的参数2在连续范围内一般效果相同 ║
' ╚══════════════════════════════════════════════════════╝
本次新增补充内容:
- 窗口操作:还原、激活、尺寸改变等 (WM_ACTIVATE, WM_SIZE, WM_MOVE)
- 鼠标操作:双击、中键、滚轮、悬停、离开、非客户区消息
- 键盘操作:系统按键(Alt组合键)、输入法消息、热键消息
- 编辑框:替换选中、追加内容、行操作、翻页、自动完成等
- 按钮操作:获取/设置选中状态、样式、图像等
- 组合框:查找、项数据、下拉列表句柄、最小可见项数等
- 列表框:多选、列宽、定位索引、项区域等
- 列表视图:完整增删改查、扩展样式、勾选状态等
- 滑块条:范围、刻度、选择范围等
- 菜单操作:系统菜单、菜单选择、菜单激活等
- 系统操作:锁定、切换用户、电源管理、设备变化等
- 绘制消息:自绘相关消息、控件颜色消息
- 定时器、拖拽、剪贴板、字体、打印等操作
- 完整键代码表:含所有字母、数字、符号、功能键、小键盘
- 消息常量对照表:方便查阅消息号对应的含义