所谓第三方辅助收银软件,即用软件抓取第三方收银系统界面上的应收金额作为顾客需要投
入到自助机收钞器的金额,并且顾客每投入一个硬币、一张纸币,辅助软件/插件会实时修改
收银系统界面的已收金额。软件以托盘的方式运行。
示例代码语言:C
#用到的工具软件:spy++,作用:获取窗口控件的标题和类名。
抓取/修改第三方桌面单元格锁定 应用软件界面参数的方式有很多,这里是调用Win32API函数,把
放到Debug文件夹里。主要用到的Win32API函数有:FindWindow、
FindWindowEx、SendMessage。
注意SendMessage方法的EntryPoint是SendMessageA。
要调用Win32API函数,首先需要了解窗口句柄、控件句柄等概念,网上很多资料可以
自行查找。下面介绍一下怎么用spy++获取第三方软件参数。第三方收银软件界面如下图所
示:
上图的找零-15.00即需要抓取的金额幼儿园师德总结 数字,实收金额则是收钞器接收到顾客投入的金额,
辅助软件会实时更新这个金额。打开spy++工具,找到我们需要的信息,如下图所示:
右键点击属性:
点击General,找到窗口的标题:
可以看到标题是:博浩商贸管理专家----收款。点击Class,找到窗口的类:
类名是:ThunderRT6FormDC。到这里我们已经找出窗口的标题和窗口的类,我们可以调用
FindWindow得到窗口句柄:
接下来需要找出-15.00这个数字的控件层级,如下图所示:
可以看到,-15.00处在父窗口下的第二层级,由上一步已经计算出父窗口的句柄,我们需要
计算父窗口下第一层级的控件句柄,由此才能继续计算出-15.00所处的第二层级的控件句柄。
用spy++找出第一层级控件的句柄与上一步父窗口的方法有所不同,只需要找出控件的类名
即可:
![图9](img-
/?x-oss-
process=image/watermarktype_ZmFuZ3poZW5naGVpdGkshad水浒传观后感 ow_10text_aHR0cHM6Ly9ibG9nL
mNzZG4ubmV0L0xlYnJ廉政学习心得 vbjYxNDY=size_16color_FFFFFFt_70#pic_center)
第一层级的控件类名为:SSActiveTabsWndClass。调用FindWindowEx方法得到第一层级的
控件句柄:
将第一步计算得到的父窗口的句柄作为第一个参数,作为第二个参数,类名
SSActiveTabsWndClass作为第三个参数,第四个参数为空计算得到第一层级的控件句柄。接
着找出第二层级的控件句柄:
第二层级的控件类名为:NumEdit。同样的,我们把计算得出的第二层级的控件句柄作为第
一个参数,作为第二个参读书月活动 数,类名NumEdit作为第三个参数,第四个参数为空计
算得到第二层级的控件句柄。
最后一步我们调用SendMessage方法,将缓存在字节数组buffer当中的ASCII转换成字符
串并拼接即可得到控件上的数值15.00。
到这一步我们已经获取到软件上面的参数。接下来要做的是修改软件界面的实收金额这一数
字。修改数值的步骤跟获取数值的步骤大致一样的,都是要计算出需要修改数值的控件的句好看的网名符号
柄,将句柄作为参数代入SendMessage方法当中,不同的是SendMessage最后一个参数是我
们要写入的数字:
上图当中,receiptAmount为实收金额,giveupAmount为找零金额。
至此,已经完成了所有的步骤。
本文发布于:2023-03-21 19:42:34,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/5b0d487e450624ea7ad7703525af228f.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:第三方桌面.doc
本文 PDF 下载地址:第三方桌面.pdf
留言与评论(共有 0 条评论) |