|
发表于 2021-3-5 19:11:38
|
显示全部楼层
辽宁省大连市
本帖最后由 久别i 于 2021-3-5 19:17 编辑
模块版本:v9.0.5
所用系统:Win10 64位
命令名称:键盘_消息()
BUG描述:按键放开无效
我的联系QQ:1469349129
@项目部004
实际为postmessage第四个参数lparam值不应该为0。
修改之后的代码:- .版本 2
- .子程序 键盘_消息_, , , 向指定窗口句柄的窗口中发送按键消息(无返回值)
- .参数 窗口句柄, 整数型, , 接收消息的窗口句柄
- .参数 键代码, 整数型, , 按键的键代码
- .参数 状态, 整数型, 可空, 可空。默认为1 1=输入字符(大写) 2=输入字符(小写) 3=按下,4=放开,5=单击
- .局部变量 Msg, 整数型
- .局部变量 wParam, 整数型
- .局部变量 lParam, 整数型
- .局部变量 ScanCode, 整数型
- ScanCode = MapVirtualKeyA (键代码, 0)
- .如果真 (状态 < 1 或 状态 > 5)
- 状态 = 1
- .如果真结束
- .判断开始 (状态 = 1 或 状态 = 2)
- Msg = 258
- .判断开始 (状态 = 2 且 键代码 > #A键 且 键代码 < #Z键)
- wParam = 键代码 + 32
- .默认
- wParam = 32
- .判断结束
- lParam = 进制_二到十 (“00000000” + 取文本右边 (进制_十到二 (ScanCode), 8) + “0000000000000001”)
- PostMessageA (窗口句柄, Msg, wParam, lParam)
- .默认
- Msg = 256
- wParam = 键代码
- .如果真 (状态 = 3 或 状态 = 5)
- lParam = 进制_二到十 (“00100000” + 取文本右边 (进制_十到二 (ScanCode), 8) + “0000000000000001”)
- PostMessageA (窗口句柄, Msg, wParam, lParam)
- .如果真结束
- .如果真 (状态 = 4 或 状态 = 5)
- lParam = 进制_二到十 (“11100000” + 取文本右边 (进制_十到二 (ScanCode), 8) + “0000000000000001”)
- PostMessageA (窗口句柄, Msg + 1, wParam, lParam)
- .如果真结束
- .判断结束
- 返回 ()
复制代码
|
评分
-
查看全部评分
|