CN108595152A - 一种基于图形对比的选择框识别方法 - Google Patents
一种基于图形对比的选择框识别方法 Download PDFInfo
- Publication number
- CN108595152A CN108595152A CN201710146234.0A CN201710146234A CN108595152A CN 108595152 A CN108595152 A CN 108595152A CN 201710146234 A CN201710146234 A CN 201710146234A CN 108595152 A CN108595152 A CN 108595152A
- Authority
- CN
- China
- Prior art keywords
- choice box
- picture
- state
- methods based
- recognition methods
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于图形对比的选择框识别方法,该发明方法步骤在于采用Windows提供的消息钩挂功能进行DLL注入,在对方的程序中运行自己的代码,通过修改Windows API的入口地址进行API钩挂,用枚举的所有选择框的状态图片和当前窗口截获的图片对比,并替换成选择框状态的基准图片所关联的文本。该发明方法避免了以图片形式截取难以查找到指定记录的难题,而且数据占用的空间变小,提高传输和存储速度,可复用性高,且成本低廉。
Description
技术领域
本发明涉及Windows应用开发技术领域,特别涉及一种基于图形对比的选择框识别方法。
背景技术
随着我国软件行业的兴起和window的hook技术被人所熟知,其中在PC端图形界面软件开发过程中,软件开发人员不仅仅局限于微软的API(应用程序接口)函数或者是被包装的MFC(微软基础类库),更多的是借助像QT这样的第三方开源库来开发图形界面,主要是因为在某些方面能够把优势最大化,相比各种同类型的软件,都会存在各自的优势和各自的不足,如QT在开发效率上就要比MFC高得多,和现在比较强的硬件设施相比,运行的效率不会存在太大差异,而且一定程度上简化了内存回收机制,这点又要比MFC强的多,总体存在很大的优势,所以有更多的人愿意用QT,但是QT的里面却是信号槽机制,通过hook技术是无法直接获取得到选择框的状态值。还有存在一些软件的图形界面的选择框是以图片的状态画到窗口上或者控件里,也是不能够通过hook技术来直接获取到选择框的状态值,导致无法知道整个界面数据的完整性。
在选择框识别过程中,首先利用window的hook技术利用抓取数据的技术,把图形界面当中选择框状态的全部位图各自保存到文件中作为基准图片,在用户需要识别选择框状态时,再次利用hook技术把图形界面当中的选择框状态图片截获和基准图片做对比,对比出来的结果翻译成所需要的文字。而本发明用于解决选择框图片的初次获取和图片对比以及选择框图片翻译替换成文字的过程。
现有技术中,通常采取下述方式实现资料的数据的关联:
第一,对于出现选择框的对话框窗口则以截图的形式获取整个窗体的所有数据,并根据需要对数据进行关联。
第二,采用分块保存的形式,窗体上的文字则以文字的形式存储,图片则以图片的形式存储,然后需要显示的客户端进行组装读取显示给用户看。
在实现本发明的过程中,现有技术至少存在以下问题:
第一,用户观看不直观,数据量多的情况下,会影响用户的查找效率;不便于存储,数据量保存的量太多,会影响程序的执行效率。
第三,该方式虽然减轻了存储的数据量,用户依然难以查找到想要的数据,存储必须借助第三方工具,不然查找到想要的数据依然困难。
发明内容
为了解决现有技术的问题,本发明提供了一种基于图形对比的选择框识别方法。
所述技术方案如下:本发明采用Windows提供的消息钩挂功能进行DLL注入,在对方的程序中运行自己的代码,通过修改WindowsAPI的入口地址进行API钩挂,用枚举的所有选择框的状态图片和当前窗口截获的图片对比,并替换成选择框状态的基准图片所关联的文本。具体实现步骤为:
a)使用Windows的Hook技术跨进程获取其他桌面应用程序的图片数据。
b)使用基准选择框图片和当前获取的图片对比来识别选择框处于某一种状态,并把当前选择框图片的状态替换成该状态关联的文字。
进一步地,所述步骤 a)中所述图片数据为应用程序在界面上所有的图片数据。
进一步地,所述步骤b)中所述基准选择框图片是枚举了其他桌面应用程序的图形界面当中的选择框图片的几种状态。
进一步地,所述步骤b)中所述当前获取的图片是正需要识别的一种状态的选择框图片。
进一步地, 本发明具体实施方式在于:
1)确定对方的进程,按进程名使用Windows提供的消息钩挂功能进行注入。
2)利用Windows提供的API获取窗体的信息及窗体之间的关系。
3)保存图形界面初始状态的所有选择框的基准图片到己方的目录下。
4)使用配置文件设置关联己方需要的选择框图片状态的文本。
5)在使用注入动态库时,会加载配置文件所关联的选择框的图片,并与当前截取的窗口的选择框的图片对比成功的图片替换成所映射的文本内容。
6)使用Windows提供的进程间通信相关API将数据发送至目标客户端,再提交至服务器。
进一步地,所述实施方式4)中所述配置文件装载的模块功能包括:条件判断、目标定位、事件截获、数据获取、数据处理、动作处理、进程间通信。
本发明提供的技术方案带来的有益效果是:
截获数据时,不再需要用户以图片的形式截取,从而避免了以图片形式截取难以查找到指定记录的难题,而且数据占用的空间变小,提高传输和存储速度,可复用性高,且成本低廉。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面对本发明实施方式作进一步地详细描述。
本发明基本实现过程如下:
(1)首先通过客户端配置确定目标进程,一般通过进程名进行识别。
(2)使用WindowsAPI查询目标进程的主线程,并插入消息钩子,将模块注入至对方进程。
(3)模块装载特定的配置文件,生成需定位的目标,定位目标的条件,需要触发的事件,触发事件的条件,需要获取的数据,获取数据的方式,数据预处理的方式等必要信息。
(4) 加载配置文件所配置的基准图片数据,初次加载时,不存在这样的信息,则需要通过配置设置保存数据的开关,来保存窗口的选择框的全部状态的图片。再次使用时把开关重置为False,来比较图形界面截获的当前所有图片进行对比,替换成所关联的文本。
(5)在程序发生特定事件时触发相关方法,模块执行数据获取操作,并使用进程间通信(FileMapping、Pipe、Socket)发送至客户端。
(6)客户端校验数据,通过后使用WebService或FTP文件的方式将数据发送至服务器。
Claims (6)
1.一种基于图形对比的选择框识别方法,其特征在于:
a)使用Windows的Hook技术跨进程获取其他桌面应用程序的图片数据;
b)使用基准选择框图片和当前获取的图片对比来识别选择框处于某一种状态,并把当前选择框图片的状态替换成该状态关联的文字。
2.如权利要求1所述基于图形对比的选择框识别方法,其特征在于,所述步骤 a)中所述图片数据为应用程序在界面上所有的图片数据。
3.如权利要求1所述基于图形对比的选择框识别方法,其特征在于,所述步骤b)中所述基准选择框图片是枚举了其他桌面应用程序的图形界面当中的选择框图片的几种状态。
4.如权利要求1所述基于图形对比的选择框识别方法,其特征在于,所述步骤b)中所述当前获取的图片是正需要识别的一种状态的选择框图片。
5.如权利要求1所述基于图形对比的选择框识别方法,其特征在于,具体实施方式在于:
(1)确定对方的进程,按进程名使用Windows提供的消息钩挂功能进行注入;
(2)利用Windows提供的API获取窗体的信息及窗体之间的关系;
(3)保存图形界面初始状态的所有选择框的基准图片到己方的目录下;
(4)使用配置文件设置关联己方需要的选择框图片状态的文本;
(5)在以后使用注入动态库时,会加载配置文件所关联的选择框的图片,并与当前截取的窗口的选择框的图片对比成功的图片替换成所映射的文本内容;
(6)使用Windows提供的进程间通信相关API将数据发送至目标客户端,再提交至服务器。
6.如权利要求5所述基于图形对比的选择框识别方法,其特征在于所述实施方式4)中所述配置文件装载的模块功能包括:条件判断、目标定位、事件截获、数据获取、数据处理、动作处理、进程间通信。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710146234.0A CN108595152A (zh) | 2017-03-14 | 2017-03-14 | 一种基于图形对比的选择框识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710146234.0A CN108595152A (zh) | 2017-03-14 | 2017-03-14 | 一种基于图形对比的选择框识别方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108595152A true CN108595152A (zh) | 2018-09-28 |
Family
ID=63632966
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710146234.0A Pending CN108595152A (zh) | 2017-03-14 | 2017-03-14 | 一种基于图形对比的选择框识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108595152A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1474267A (zh) * | 2002-08-09 | 2004-02-11 | 联想(北京)有限公司 | 一种准确获取计算机屏幕变化的方法 |
CN102930263A (zh) * | 2012-09-27 | 2013-02-13 | 百度国际科技(深圳)有限公司 | 一种信息处理方法及装置 |
CN103761241A (zh) * | 2013-12-13 | 2014-04-30 | 北京奇虎科技有限公司 | 一种图片数据的上传方法和浏览器 |
CN104252475A (zh) * | 2013-06-27 | 2014-12-31 | 腾讯科技(深圳)有限公司 | 定位图片中文本信息的方法及装置 |
CN104267804A (zh) * | 2014-09-15 | 2015-01-07 | 联想(北京)有限公司 | 一种信息输入方法及电子设备 |
CN105005551A (zh) * | 2015-06-29 | 2015-10-28 | 东南(福建)汽车工业有限公司 | 一种在文档修订中实现快速获取图片文字的方法 |
CN105095483A (zh) * | 2015-08-14 | 2015-11-25 | 北京铭嘉实咨询有限公司 | 图片码识别方法和系统 |
CN105893498A (zh) * | 2016-03-30 | 2016-08-24 | 努比亚技术有限公司 | 一种实现截屏的方法和装置、查找图片的方法和装置 |
-
2017
- 2017-03-14 CN CN201710146234.0A patent/CN108595152A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1474267A (zh) * | 2002-08-09 | 2004-02-11 | 联想(北京)有限公司 | 一种准确获取计算机屏幕变化的方法 |
CN102930263A (zh) * | 2012-09-27 | 2013-02-13 | 百度国际科技(深圳)有限公司 | 一种信息处理方法及装置 |
CN104252475A (zh) * | 2013-06-27 | 2014-12-31 | 腾讯科技(深圳)有限公司 | 定位图片中文本信息的方法及装置 |
CN103761241A (zh) * | 2013-12-13 | 2014-04-30 | 北京奇虎科技有限公司 | 一种图片数据的上传方法和浏览器 |
CN104267804A (zh) * | 2014-09-15 | 2015-01-07 | 联想(北京)有限公司 | 一种信息输入方法及电子设备 |
CN105005551A (zh) * | 2015-06-29 | 2015-10-28 | 东南(福建)汽车工业有限公司 | 一种在文档修订中实现快速获取图片文字的方法 |
CN105095483A (zh) * | 2015-08-14 | 2015-11-25 | 北京铭嘉实咨询有限公司 | 图片码识别方法和系统 |
CN105893498A (zh) * | 2016-03-30 | 2016-08-24 | 努比亚技术有限公司 | 一种实现截屏的方法和装置、查找图片的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9990209B2 (en) | Digital assistance device for facilitating multi-stage setup | |
EP3309676B1 (en) | Method and apparatus for providing screenshot service on terminal device and storage medium and device | |
CN108509231B (zh) | 基于vr的应用程序打开方法、电子装置、设备及存储介质 | |
CN109361628B (zh) | 报文组装方法、装置、计算机设备和存储介质 | |
CN110908837B (zh) | 应用程序异常处理方法、装置、电子设备及存储介质 | |
CN105183495A (zh) | 跨操作系统域来协调活动视图 | |
CN111831542B (zh) | Api应用调测方法及装置、存储介质 | |
CN111739136B (zh) | 渲染方法、计算机设备和存储介质 | |
CN113849119B (zh) | 存储方法、存储装置和计算机可读存储介质 | |
CN111930633A (zh) | 数据测试方法、平台、电子设备及存储介质 | |
CN108595152A (zh) | 一种基于图形对比的选择框识别方法 | |
EP4390852A1 (en) | Scene rendering method and apparatus, device and system | |
CN115688102A (zh) | 窗口的处理方法、装置、处理器及电子设备 | |
CN113064601B (zh) | 动态加载文件的确定方法、装置、终端及存储介质 | |
US11080683B2 (en) | DOI display and transaction information verification | |
CN113065072A (zh) | 用于社群营销管理的数据处理方法及系统 | |
CN113687942A (zh) | 检测方法、装置及电子设备 | |
CN112231290A (zh) | 一种本地日志的处理方法、装置、设备及存储介质 | |
CN111966460A (zh) | 一种优化容器内显示进程信息的方法、系统、设备及介质 | |
US10165074B2 (en) | Asynchronous custom exit points | |
CN109840156B (zh) | 一种数据缓存方法及其设备、存储介质、终端 | |
CN110825477A (zh) | 图形界面的加载方法、装置、设备及存储介质 | |
CN112181535A (zh) | 一种接口调用方法、装置、服务器及存储介质 | |
CN111596993A (zh) | 一种界面处理方法、终端设备及存储介质 | |
CN108632339A (zh) | 一种动态选择服务器的方法及系统 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180928 |