CN109857499B - 基于windows系统收银软件屏幕金额获取的通用方法 - Google Patents
基于windows系统收银软件屏幕金额获取的通用方法 Download PDFInfo
- Publication number
- CN109857499B CN109857499B CN201910020129.1A CN201910020129A CN109857499B CN 109857499 B CN109857499 B CN 109857499B CN 201910020129 A CN201910020129 A CN 201910020129A CN 109857499 B CN109857499 B CN 109857499B
- Authority
- CN
- China
- Prior art keywords
- control
- amount
- window
- amount due
- payable
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Abstract
本发明涉及一种windows系统收银软件屏幕金额获取的通用方法,其通过对收银软件显示金额区域控件发送消息获取收银软件中的应付金额数据,或者对收银软件结算窗口的应付金额区域像素进行截取,对截取的像素区域进行图像数据分析和金额识别,将获得的应付金额自动发送至第三方支付平台的客户端或支付设备,以达到获取任意收银软件应付金额的目的。本发明可用于第三方支付软件在未对接收银软件情形下的快捷支付。
Description
技术领域
本发明涉及一种基于windows系统收银软件屏幕金额获取的通用方法。
背景技术
商场收银台等通常采用基于windows系统的收银软件计算交易金额并显示在屏幕的相应窗口上,客户依据收银软件显示的金额进行支付,在现有技术背景下,支付方式可以有多种,例如,现金支付、银行卡刷卡支付、预付卡结算支付以及微信、支付宝等其他第三方支付平台支付,当收银软件与第三方支付软件关联或自动对接时,第三方支付软件能够自动获取收银软件计算出的交易金额,但现实中,收银软件往往不能自动与第三方支付软件自动关联或对接,因此需要客户在使用第三方支付平台支付时依据收银软件的屏幕显示金额人工输入应付金额,需要消耗一定的时间,并且输入金额错误的可能性也相对较大。
发明内容
为解决上述技术问题,本发明提供了一种基于windows系统收银软件屏幕金额获取的通用方法,其能够自动获取收银软件的屏幕金额,以便将该金额自动发送至第三方支付软件,无需人工输入。
本发明的技术方案是:一种基于windows系统收银软件屏幕金额获取的通用方法,其依据配置文件中记载的应付金额控件类名,判断收银软件中的应付金额控件是否为允许通过windows发送信息获得应付金额数据的控件,当收银软件中的应付金额控件为允许通过windows发送信息获得应付金额数据的控件时,通过windows发送信息获得应付金额数据;当收银软件中的应付金额控件不是允许通过windows发送信息获得应付金额数据的控件时,通过图片字符识别方式获得应付金额数据。
可以依据下列方式判断收银软件中的应付金额控件是否为允许通过 windows发送信息获得应付金额数据的控件:当其类名为STATIC、EDIT、 TEXTBOX或BUTTON时,为允许通过windows发送信息获得应付金额数据的控件,否则为不允许通过windows发送信息获得应付金额数据的控件。
通过图片字符识别方式获得应付金额数据可以包括:在收银软件的结算窗口上,依据配置文件,对需要抓取应付金额数据的区域进行定位,以便在该区域进行字符识别,进而获得应付金额数据。
可以通过下列方式对需要抓取应付金额数据的区域进行定位:依据配置文件中应付金额控件的父窗口的标题、类名和所属进程名,获得该父窗口实时的句柄,依据父窗口实时的句柄,枚举出该父窗口的所有子窗口属性,依据所有子窗口的类名、控件尺寸和相对父窗口的位置信息,唯一地推算出所需的应付金额控件或需要抓取应付金额数据的区域。
可以通过下列方式进行需要抓取应付金额数据的区域的字符识别:计算出需要抓取应付金额数据的区域在收银软件结算窗口中的相对位置,截取该区域的像素并保存为位图,对位图进行字符区域的切分,将切分出的字符区域与预先配置好的识别模板进行匹配识别,将识别出的字符按顺序排列形成应付金额数据。
优选从顶级窗口定时或者收银软件完成结算时找到需要抓取的区域的位置或控件信息。
所述配置文件中通常应包含应付金额控件的信息及其父窗口的信息,所述应付金额控件的信息包括应付金额控件的句柄、标题、类名、控件尺寸及其窗口左上点的坐标,所述应付金额控件的父窗口的信息包括应付金额控件的父窗口的的句柄、标题、类名、控件尺寸及其窗口左上点的坐标。
可以通过应付金额控件的句柄或父窗口的句柄查找到相应的进程名。
可以通过计算应付金额控件的窗口及其父窗口相对屏幕左上点的坐标,计算出应付金额控件的窗口相对于其父窗口的左间距和右间距,以确定应付金额控件的窗口在其父窗口上的相对位置。
可以依据下列方式获得配置文件所需的信息:
1)采用相应的查看工具,查看收银软件结算窗口中的应付金额控件的句柄、标题和类名;
2)依据应付金额控件的句柄和标题,查看应付金额控件的详细属性,其中包括控件尺寸和左上点的坐标,并查看其父窗口的句柄和标题;
3)依据应付金额控件的父窗口的句柄和标题,查看该父窗口的详细属性,其中包括控件尺寸和左上点的坐标,
本发明的有益效果是:对收银软件需要抓取应付金额的区域进行配置, 将该区域的相关控件属性保存到配置文件中,在需要抓取应付金额时,通过程序依据配置文件的信息,从顶级窗口定时找到需要抓取的区域的位置或控件信息,对于允许通过windows系统发送消息获取屏幕金额的标准控件,可以通过windows发送消息方式获取屏幕金额,且正确率可视为100%,否则则通过该区域的信息计算出需要抓取的区域所在屏幕的位置,通过屏幕抓图方式获取/截取该区域的像素并进行字符识别,获得相应的屏幕金额,由此为自动将该屏幕金额发送至第三方支付软件或平台提供了条件,通过软件设计,自动将将该屏幕金额发送至第三方支付软件或平台。
附图说明
图1是一种收银软件的结算窗口界面截屏;
图2是一种收银软件结算窗口应付金额控件属性截屏;
图3是一种应付金额控件同级控件的相关属性和父窗口的相关属性数据截屏;
图4是一种应付金额控件详细属性截屏;
图5是一种应付金额控件父窗口句柄链接截屏;
图6是一种应付金额控件父窗口详细属性截屏;
图7是一种应付金额控件父窗口进程和坐标等信息截屏;
图8是一种应付金额控件与父窗口之间的相对位置截屏;
图9是一种bmp位图图片切割制作工具截屏;
图10是一种bmp位图图片切割制作工具标注像素对应结果截屏。
具体实施方式
参见图1-10,本发明涉及一种windows系统收银软件屏幕金额获取的通用方法,其通过对收银软件显示金额区域控件发送消息获取收银软件中的应付金额数据,或者对收银软件结算窗口的应付金额区域像素进行截取,对截取的像素区域进行图像数据分析和金额识别,达到获取任意收银软件应付金额的目的,将获得的应付金额自动发送至第三方支付平台的客户端或支付设备,可用于第三方支付软件在未对接收银软件情形下的快捷支付。
基本流程为首先需要对收银软件屏幕显示中需要抓取的区域进行配置,包括该区域可能是控件的属性,比如位置、大小、类名、父级和顶级窗口关系、标题名等,保存到配置文件中,程序通过配置文件的信息,能够从顶级窗口再次定时找到需要抓取的区域的位置或控件信息,如果该区域是控件,符合类名为STATIC/EDIT/TEXTBOX/BUTTON,可以通过windows发送消息方式获取金额数据且正确率100%,否则,则通过该区域信息计算出需要抓取的区域所在屏幕的位置,通过屏幕抓图的原理和方法获取/截取该区域的像素保存为bmp位图,再通过位图的切割和模板匹配进行位图的数字和一些少量的特殊字符的识别,或者通过其他字符识别方式识别出该区域的金额数据,以便发送至第三方支付平台。
其中包括:
1)窗口定位:通过窗口层次关系定位并获得所需抓取的窗口的句柄、类名、大小、标题、父窗口等属性,以用于形成配置文件;
2)类名判断:通过类名关键字STATIC/EDIT/TEXTBOX/BUTTON判断是否为可用windows发送消息方式直接获取数据的控件,如是,则可以通过windows发送消息方式直接获取所需的应付金额数据;如不是,则通过位图识别获取所需的应付金额数据;
3)位图识别:截取该区域的像素图像,保存为bmp位图,对该位图进行切分,与预先配置好的模板进行匹配识别,识别出所需的应付金额数据。
详细说明:
1)获取属性:
参见图1,收银软件的结算窗口中,包含应付金额(例如,图1中箭头所指示的10.00,该箭头为后添加在截屏上的箭头,以便于查看),该金额是本发明需要获取的数据,各种收银软件均设有包括应付金额的结算窗口。
采用基于Windows的查看工具定位收银软件结算窗口中应付金额控件的基本信息数据,参见图2。
进一步,可以获得收银软件结算窗口中应付金额控件的相关属性和父窗口的相关属性数据,参见图3-6。其中,图3显示了应付金额控件(同级控件)的相关属性和父窗口的相关属性数据;图4显示了应付金额控件详细属性;图5显示了应付金额控件父窗口句柄链接;图6显示了父窗口详细属性。
通过图2-4,可知应付金额控件的如下属性:控件句柄为00420E64,标题为10.00,class类名为Edit,控件尺寸为279*35,父窗口句柄为 002D0E68,父窗口标题为“收银结账-(收银台/桌号:01)”,class类名为 Window,控件尺寸为478*394。
2)配置原理:
首先可以得出应付金额控件属性,包含控件句柄、标题、class类名、控件尺寸。
通过应付金额句柄可以得到该控件父窗口的属性,包含控件句柄、标题、class类名、控件尺寸。并且,通过应付金额控件的句柄或其父窗口的句柄,都可以得出该软件的进程名(例如图7中的kkpos.exe),还可以得出应付金额窗口及其父窗口相对屏幕左上点的坐标,两者之差可得出应付金额控件的窗口与其父窗口之间的相对位置(包括左间距和上间距,如图8 中箭头指示,该箭头为后添加在截屏上的箭头,以便于查看)。
在配置文件中保存以上应付金额控件和父窗口相关信息,即完成了配置工作。
3)窗口定位原理:
通过配置文件中记载的父窗口的标题、class类名、控件尺寸(如果该尺寸是固定的)和所属进程名,可以获取该父窗口实时的句柄等详细属性,通过得到的句柄可以枚举出该窗口的所有子窗口属性(如图3所示),依据所有子窗口中的class类名、控件尺寸和相对父窗口位置信息可以唯一推算出所要定位的应付金额控件。
查找窗口方法函数:
4)金额识别:
a)对于应付金额控件满足符合类名为
STATIC/EDIT/TEXTBOX/BUTTON,可以通过windows发送消息方式获取应付金额。
消息发送函数:
b)对于非以上类名的应付金额控件,采取像素匹配方法识别,对应付金额控件所在区域进行截屏,保存为bmp格式的像素图片,进行数字像素切割后,标记每个数字图片为具体的数值,保存在配置文件中。在识别的时候,对识别区域截屏,分割后按像素匹配识别出对因的数值,从而完成控件金额的识别(参见图9和图10)。
本发明可以应用可用于第三方支付软件的快捷支付,无须人工手动输入收银软件中的应收金额,大大提升收银效率和客户购物支付体验。
本发明公开的各优选和可选的技术手段,除特别说明外及一个优选或可选技术手段为另一技术手段的进一步限定外,均可以任意组合,形成若干不同的技术方案。
Claims (8)
1.一种基于windows系统收银软件屏幕金额获取的通用方法,其依据配置文件中记载的应付金额控件类名,判断收银软件中的应付金额控件是否为允许通过windows发送信息获得应付金额数据的控件,当收银软件中的应付金额控件为允许通过windows发送信息获得应付金额数据的控件时,通过windows发送信息获得应付金额数据;当收银软件中的应付金额控件不是允许通过windows发送信息获得应付金额数据的控件时,通过图片字符识别方式获得应付金额数据,所述配置文件中包含应付金额控件的信息及其父窗口的信息,通过应付金额控件的句柄或父窗口的句柄查找到相应的进程名,通过下列方式对需要抓取应付金额数据的区域进行定位:依据配置文件中应付金额控件的父窗口的标题、类名和所属进程名,获得该父窗口实时的句柄,依据父窗口实时的句柄,枚举出该父窗口的所有子窗口属性,依据所有子窗口的类名、控件尺寸和相对父窗口的位置信息,唯一地推算出所需的应付金额控件或需要抓取应付金额数据的区域。
2.如权利要求1所述的方法,其特征在于依据下列方式判断收银软件中的应付金额控件是否为允许通过windows发送信息获得应付金额数据的控件:当其类名为STATIC、EDIT、TEXTBOX或BUTTON时,为允许通过windows发送信息获得应付金额数据的控件,否则为不允许通过windows发送信息获得应付金额数据的控件。
3.如权利要求1所述的方法,其特征在于通过图片字符识别方式获得应付金额数据包括:在收银软件的结算窗口上,依据配置文件,对需要抓取应付金额数据的区域进行定位,以便在该区域进行字符识别,进而获得应付金额数据。
4.如权利要求3所述的方法,其特征在于通过下列方式进行需要抓取应付金额数据的区域的字符识别:计算出需要抓取应付金额数据的区域在收银软件结算窗口中的相对位置,截取该区域的像素并保存为位图,对位图进行字符区域的切分,将切分出的字符区域与预先配置好的识别模板进行匹配识别,将识别出的字符按顺序排列形成应付金额数据。
5.如权利要求1所述的方法,其特征在于从顶级窗口定时或者收银软件完成结算时找到需要抓取的区域的位置或控件信息。
6.如权利要求1-5任一项 所述的方法,其特征在于所述应付金额控件的信息包括应付金额控件的句柄、标题、类名、控件尺寸及其窗口左上点的坐标,所述应付金额控件的父窗口的信息包括应付金额控件的父窗口的的句柄、标题、类名、控件尺寸及其窗口左上点的坐标。
7.如权利要求6所述的方法,其特征在于通过计算应付金额控件的窗口及其父窗口相对屏幕左上点的坐标,计算出应付金额控件的窗口相对于其父窗口的左间距和右间距,以确定应付金额控件的窗口在其父窗口上的相对位置。
8.如权利要求6所述的方法,其特征在于依据下列方式获得配置文件所需的信息:
采用相应的查看工具,查看收银软件结算窗口中的应付金额控件的句柄、标题和类名;
依据应付金额控件的句柄和标题,查看应付金额控件的详细属性,其中包括控件尺寸和左上点的坐标,并查看其父窗口的句柄和标题;
依据应付金额控件的父窗口的句柄和标题,查看该父窗口的详细属性,其中包括控件尺寸和左上点的坐标。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910020129.1A CN109857499B (zh) | 2019-01-09 | 2019-01-09 | 基于windows系统收银软件屏幕金额获取的通用方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910020129.1A CN109857499B (zh) | 2019-01-09 | 2019-01-09 | 基于windows系统收银软件屏幕金额获取的通用方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109857499A CN109857499A (zh) | 2019-06-07 |
CN109857499B true CN109857499B (zh) | 2022-05-03 |
Family
ID=66894310
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910020129.1A Active CN109857499B (zh) | 2019-01-09 | 2019-01-09 | 基于windows系统收银软件屏幕金额获取的通用方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109857499B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110689009B (zh) * | 2019-09-18 | 2021-09-07 | 北京三快在线科技有限公司 | 信息识别方法及装置、电子设备和计算机可读存储介质 |
CN111968317A (zh) * | 2020-07-31 | 2020-11-20 | 银盛支付服务股份有限公司 | 一种通过模拟按键操作的收银方法及系统 |
CN112991646A (zh) * | 2020-12-31 | 2021-06-18 | 网银在线(北京)科技有限公司 | 收款方法、收款装置、及收款设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105678302A (zh) * | 2016-03-09 | 2016-06-15 | 上海讯联数据服务有限公司 | 一种基于ocr的扫码支付收银软件金额识别系统 |
CN106875162A (zh) * | 2016-12-30 | 2017-06-20 | 朗新科技股份有限公司 | 数据抓取方法、数据抓取装置、软收银对接接口及终端 |
CN108074627A (zh) * | 2016-11-10 | 2018-05-25 | 长沙博为软件技术股份有限公司 | 一种临床医疗数据抓取的界面触发事件响应处理方法 |
CN108805541A (zh) * | 2018-05-24 | 2018-11-13 | 陈明栋 | 一种支付方法和系统、存储介质 |
CN108830590A (zh) * | 2018-05-28 | 2018-11-16 | 银盒达信息技术(深圳)有限公司 | 一种信息的获取方法、信息的获取装置及终端设备 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7219838B2 (en) * | 2004-08-10 | 2007-05-22 | Howell Data Systems | System and method for notifying a cashier of the presence of an item in an obscured area of a shopping cart |
DE102008011192A1 (de) * | 2008-02-26 | 2009-08-27 | Wincor Nixdorf International Gmbh | Verfahren und Diensterechner sowie System zur Transaktion eines Geldbetrages |
US9400978B2 (en) * | 2010-04-09 | 2016-07-26 | Paypal, Inc. | Methods and systems for selecting accounts and offers in payment transactions |
CN103971227A (zh) * | 2013-01-31 | 2014-08-06 | 东莞市翼友科技有限公司 | 一种商场交易结算系统及其结算方法 |
CN103632464A (zh) * | 2013-11-14 | 2014-03-12 | 成都博约创信科技有限责任公司 | 集图像识别与标签识别于一体的收银方法 |
CN108198355A (zh) * | 2018-01-08 | 2018-06-22 | 苏州市华信信息技术有限公司 | 适用于各种收银(费)系统的自动识别支付扫码枪 |
CN108416587A (zh) * | 2018-01-26 | 2018-08-17 | 银联国际有限公司 | 基于单点接入的支付方法及基于单点接入的支付系统 |
-
2019
- 2019-01-09 CN CN201910020129.1A patent/CN109857499B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105678302A (zh) * | 2016-03-09 | 2016-06-15 | 上海讯联数据服务有限公司 | 一种基于ocr的扫码支付收银软件金额识别系统 |
CN108074627A (zh) * | 2016-11-10 | 2018-05-25 | 长沙博为软件技术股份有限公司 | 一种临床医疗数据抓取的界面触发事件响应处理方法 |
CN106875162A (zh) * | 2016-12-30 | 2017-06-20 | 朗新科技股份有限公司 | 数据抓取方法、数据抓取装置、软收银对接接口及终端 |
CN108805541A (zh) * | 2018-05-24 | 2018-11-13 | 陈明栋 | 一种支付方法和系统、存储介质 |
CN108830590A (zh) * | 2018-05-28 | 2018-11-16 | 银盒达信息技术(深圳)有限公司 | 一种信息的获取方法、信息的获取装置及终端设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109857499A (zh) | 2019-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109857499B (zh) | 基于windows系统收银软件屏幕金额获取的通用方法 | |
CN111428599B (zh) | 票据识别方法、装置和设备 | |
JP7225548B2 (ja) | 画像処理装置、画像処理方法および画像処理プログラム | |
CN102750555B (zh) | 一种基于即时通讯工具的表情识别装置 | |
US10552810B1 (en) | System and method for remote deposit of financial instruments | |
CN109325776B (zh) | 退货码生成和退货方法、装置、设备及其存储介质 | |
JP4078009B2 (ja) | 帳票における文字記録領域の検出装置、帳票における文字記録領域の検出方法、記憶媒体及び帳票フォーマット作成装置 | |
CN109086751B (zh) | 识别方法和装置、表单填写方法和装置、存储介质和终端 | |
US20150242964A1 (en) | Non-transitory Computer-Readable Medium, Data Management System and Data Management Server | |
CN110599156A (zh) | 一种收款方法、收款装置、终端设备及介质 | |
CN112560754A (zh) | 票据信息的获取方法、装置、设备及存储介质 | |
CN110647824B (zh) | 基于计算机视觉技术的增值税发票版面提取方法 | |
US20140046760A1 (en) | Methods, systems, and computer readable media for identifying qualifying consumer offers | |
US20210357883A1 (en) | Payment method capable of automatically recognizing payment amount | |
US10049350B2 (en) | Element level presentation of elements of a payment instrument for exceptions processing | |
CN109544134B (zh) | 便捷支付服务方法和系统 | |
JP4983464B2 (ja) | 帳票画像処理装置及び帳票画像処理プログラム | |
JP5975766B2 (ja) | クレジット伝票チェック支援装置、方法およびプログラム | |
JP6810306B1 (ja) | データ処理装置、データ処理方法及びプログラム | |
US11657489B2 (en) | Segmentation of continuous dynamic scans | |
US11823139B2 (en) | Image-based transaction processing | |
CN114972500A (zh) | 查验方法、标注方法、系统、装置、终端、设备及介质 | |
CN113034182A (zh) | 自动积分方法、系统、服务器和存储介质 | |
EP3739542A1 (en) | Visual purchasing system and implementation method thereof | |
JP2015228079A (ja) | 情報処理装置、制御方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |