|
楼主 |
发表于 2019-10-23 14:15:26
|
显示全部楼层
浙江省温州市
.版本 2
.子程序 付款码钩子, 整数型, , 键盘钩子获取付款码
.参数 nCode, 整数型
.参数 wParam, 整数型
.参数 lParam, 整数型
.局部变量 消息, MSG
.局部变量 i, 整数型, 静态, "3"
.局部变量 键记录, 文本型, 静态
.局部变量 返回值, 整数型
.局部变量 字符数组, 整数型, 静态, "0"
.如果真 (nCode = 0)
CopyMemory (消息, lParam, 20)
' 判断输入的是否是数字键+回车键 常量文本内容:48,49,50,51,52,53,54,55,56,57,13
.判断开始 (文本_寻找文本 (#数字键值, 到文本 (消息.hwnd), , ) = -1 或 消息.hwnd = 8 或 消息.hwnd = 9)
返回 (0)
.默认
.如果 (消息.wParam = 0) ' // 代表按下
' // 开始记录时间
i [1] = 取启动时间 () ' i是一个临时整数变量 忽略
返回 (1) ' // 1代表放行本条按键按下消息
.否则
' // 这边是消息.wParam ≠ 0 说明是放开按键
.如果 (取启动时间 () - i [1] ≤ 25) ' // 放开的时间 - 之前记录的按下时间 = 间隔 小于等于25 就记录在键记录变量上 并拦截本条按键按下消息
.判断开始 (消息.hwnd = 48)
键记录 = 键记录 + “0”
加入成员 (字符数组, 消息.hwnd)
.判断 (消息.hwnd = 49)
键记录 = 键记录 + “1”
加入成员 (字符数组, 消息.hwnd)
.判断 (消息.hwnd = 50)
加入成员 (字符数组, 消息.hwnd)
键记录 = 键记录 + “2”
.判断 (消息.hwnd = 51)
加入成员 (字符数组, 消息.hwnd)
键记录 = 键记录 + “3”
.判断 (消息.hwnd = 52)
加入成员 (字符数组, 消息.hwnd)
键记录 = 键记录 + “4”
.判断 (消息.hwnd = 53)
加入成员 (字符数组, 消息.hwnd)
键记录 = 键记录 + “5”
.判断 (消息.hwnd = 54)
加入成员 (字符数组, 消息.hwnd)
键记录 = 键记录 + “6”
.判断 (消息.hwnd = 55)
加入成员 (字符数组, 消息.hwnd)
键记录 = 键记录 + “7”
.判断 (消息.hwnd = 56)
加入成员 (字符数组, 消息.hwnd)
键记录 = 键记录 + “8”
.判断 (消息.hwnd = 57)
加入成员 (字符数组, 消息.hwnd)
键记录 = 键记录 + “9”
.判断 (消息.hwnd = 13) ' 如果这边键代码是回车键, 开始判断是否是付款码或者商品码
i [2] = 取文本长度 (键记录) ' // 键记录内容 是记录之前小于25毫秒的数字
.判断开始 (i [2] ≤ 19 且 i [2] ≥ 17) ' //这边代表了应该是付款码
标签1.标题 = 键记录 ' // 键记录内容显示标签上
清除数组 (字符数组) ' // 字符数组是键代码数组,之前按顺序记录小于25毫秒的键值
键记录 = “” ' // 清空之前的记录 初始化
i [2] = 0 ' // 初始化
返回值 = 0 ' // 初始化
.判断 (i [2] ≤ 16 且 i [2] ≥ 5) ' // 这边代表了应该是商品码
UnhookWindowsHookEx (付款码hHook) ' // 卸载掉键盘钩子
' 执行字符数组里的键值输入
.计次循环首 (取数组成员数 (字符数组), i [3])
按键2 (字符数组 [i [3]], 5, )
.计次循环尾 ()
按键2 (13, 5, ) ' h回车键
' // 下面都是初始化
i [3] = 0
键记录 = “”
i [2] = 0
清除数组 (字符数组)
返回值 = 0
' // 重新下钩子
付款码hHook = SetWindowsHookExA (13, &付款码钩子, GetModuleHandleA1 (0), 0)
.默认
.判断结束
.默认
.判断结束
.否则
' // 这边代表了是正常输入
UnhookWindowsHookEx (付款码hHook) ' 卸载钩子
按键2 (消息.hwnd, 5, )
键记录 = “”
清除数组 (字符数组)
返回值 = 0
' //重新下钩子
付款码hHook = SetWindowsHookExA (13, &付款码钩子, GetModuleHandleA1 (0), 0)
.如果结束
.如果结束
.判断结束
.如果真结束
返回 (返回值)
|
|