CN106371811A - 一种java窗口控件的识别方法及装置 - Google Patents
一种java窗口控件的识别方法及装置 Download PDFInfo
- Publication number
- CN106371811A CN106371811A CN201510428900.0A CN201510428900A CN106371811A CN 106371811 A CN106371811 A CN 106371811A CN 201510428900 A CN201510428900 A CN 201510428900A CN 106371811 A CN106371811 A CN 106371811A
- Authority
- CN
- China
- Prior art keywords
- control
- controls
- prelocalization
- positional information
- java
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明提供了一种java窗口控件的识别方法及装置,该方法包括:获取当前java窗口中所有控件的属性信息,控件的属性信息中包括有所有控件的位置信息;获取当前定位的位置信息;根据当前定位的位置信息以及所有控件的位置信息,确定当前定位的目标控件。本发明提供的java窗口控件的识别方法及装置,通过位置信息获取java窗口中的相应控件,使基于windows操作系统有效地识别java窗口控件并显示,给基于java进程的操作带来了极大的便利。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种java窗口控件的识别方法及装置。
背景技术
在windows操作系统中,大多数程序都有窗口,窗口上面有不同的控件,比如输入编辑框和按钮,这些控件一般称作重量级控件,其本质是一个窗口,有窗口句柄,能响应windows鼠标和键盘等消息。
微软提供了一种实用工具spy++,该工具能够对目标程序的窗口控件进行精确识别。但是,在基于windows操作系统上运行的java程序的窗口,微软提供的spy++以及基于微软提供的api接口编写的窗口识别程序,都无法有效识别java窗口上的控件信息。spy++仅能发现java窗口,而无法识别控件,这是因为,java窗口虽然是windows窗口,但上面的控件不是windows控件,即它们不是windows窗口,它们没有窗口句柄,其本质是根据java绘制原语画出来的控件,即轻量级控件,这些控件对windows的鼠标和键盘等消息事件的响应在java内部中实现的。
发明内容
本发明提供了一种java窗口控件的识别方法及装置,其目的是为了解决基于windows操作系统无法识别java窗口控件的问题。
为了达到上述目的,本发明的实施例提供了一种java窗口控件的识别方法,该方法包括:
获取当前java窗口中所有控件的属性信息,控件的属性信息中包括有所有控件的位置信息;
获取当前定位的位置信息;
根据当前定位的位置信息以及所有控件的位置信息,确定当前定位的目标控件。
进一步地,获取当前java窗口中所有控件的属性信息的步骤包括:
从当前java进程中,获取当前java窗口中所有控件的绘制原语;
从绘制原语中,获取控件的属性信息。
进一步地,属性信息还包括:控件的类型信息。
进一步地,获取当前定位的位置信息的步骤包括:
获取当前鼠标指针所在的位置信息。
进一步地,根据当前定位的位置信息以及所有控件的位置信息,确定当前定位的目标控件的步骤包括:
将所有控件的位置信息中,位置信息与当前定位的位置信息相同的控件,确定为当前定位的目标控件。
进一步地,确定当前定位的目标控件的步骤之后还包括:
将目标控件以一提醒方式显示,并显示目标控件的属性信息。
进一步地,将目标控件以一突出显示的方式或者对目标控件涂色的方式进行显示。
本发明还提供了一种java窗口控件的识别装置,该装置包括:
属性获取模块,用于获取当前java窗口中所有控件的属性信息,控件的属性信息中包括有所有控件的位置信息;
位置获取模块,用于获取当前定位的位置信息;
定位模块,用于根据当前定位的位置信息以及所有控件的位置信息,确定当前定位的目标控件。
进一步地,属性获取模块包括:
第一获取子模块,用于从当前java进程中,获取当前java窗口中所有控件的绘制原语;
第二获取子模块,用于从绘制原语中,获取控件的属性信息。
进一步地,该装置还包括,
提醒模块,用于在定位模块确定当前定位的目标控件之后,将目标控件以一提醒方式显示,并显示目标控件的属性信息。
本发明的上述方案至少包括以下有益效果:
本发明提供的java窗口控件的识别方法及装置,通过位置信息获取java窗口中的相应控件,使基于windows操作系统有效地识别java窗口控件并显示,给基于java进程的操作带来了极大的便利。
附图说明
图1为本发明实施例所述的java窗口控件的识别方法的步骤流程图;
图2为本发明实施例所述的java窗口控件的识别装置的结构示意图;
图3为本发明的优选实施例的场景示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
参见图1,本发明针对现有的问题,提供了一种java窗口控件的识别方法,该方法包括:
步骤101,获取当前java窗口中所有控件的属性信息,控件的属性信息中包括有所有控件的位置信息;
进一步地,步骤101包括:
从当前java进程中,获取当前java窗口中所有控件的绘制原语;
从绘制原语中,获取控件的属性信息。
也就是说,嵌入到java进程中,嵌入拦截代码,进而拦截当前java窗口中所有控件的绘制原语,绘制原语即绘制该控件的若干条指令;再从相关绘制原语中,获取每个控件的属性信息。
进一步地,属性信息还包括:控件的类型信息。其中,类型信息可以是按钮,或者编辑输入框等。
参见图3,做为本发明的优选实施例,当前java窗口中的控件包括:与“用户名”相对应的编辑输入框、与“密码”相对应的编辑输入框、与“IP地址”相对应的编辑输入框以及“确定”、“取消”按钮;首先嵌入到java进程中,获取上述控件的绘制原语,从绘制原语中获取相关控件的属性信息;属性信息包括控件的位置信息以及控件类型信息等。
继续参见图1,步骤102,获取当前定位的位置信息。
进一步地,步骤102包括:
获取当前鼠标指针所在的位置信息。参见图3,当前鼠标指针所在的位置为水平位置x=70,竖直位置y=128,宽度width=418,高度height=22。
继续参见图1,步骤103,根据当前定位的位置信息以及所有控件的位置信息,确定当前定位的目标控件。
其中,当前定位的位置信息即步骤102中获取的当前鼠标指针所在的位置
进一步地,步骤103包括:
将所有控件的位置信息中,位置信息与当前定位的位置信息相同的控件,确定为当前定位的目标控件。
从步骤101中获取的所有控件的位置信息中,确定与步骤102中获取的当前定位的位置信息相同的控件,即为目标控件。
进一步地,确定当前定位的目标控件的步骤之后还包括:
将目标控件以一提醒方式显示,并显示目标控件的属性信息。进一步地,将目标控件以一突出显示的方式或者对目标控件涂色的方式进行显示。
参见图3,图中左侧窗体为java窗口,当确定与“用户名”相对应的编辑输入框即为目标控件之后,对目标控件进行了涂色,并在右侧窗体中显示了目标控件的属性信息,其中属性信息包括:句柄handle,控制标识control ID,文本text,类class等。
本发明提供的java窗口控件的识别方法及装置,通过位置信息获取java窗口中的相应控件,使基于windows操作系统有效地识别java窗口控件并显示,给基于java进程的操作带来了极大的便利。
参见图2,本发明还提供了一种java窗口控件的识别装置,该装置包括:
属性获取模块201,用于获取当前java窗口中所有控件的属性信息,控件的属性信息中包括有所有控件的位置信息;
位置获取模块202,用于获取当前定位的位置信息;
定位模块203,用于根据当前定位的位置信息以及所有控件的位置信息,确定当前定位的目标控件。
进一步地,属性获取模块201包括:
第一获取子模块,用于从当前java进程中,获取当前java窗口中所有控件的绘制原语;
第二获取子模块,用于从绘制原语中,获取控件的属性信息。
进一步地,该装置还包括,
提醒模块,用于在定位模块203确定当前定位的目标控件之后,将目标控件以一提醒方式显示,并显示目标控件的属性信息。
需要说明的是,本发明实施例提供的java窗口控件的识别装置是应用上述方法的装置,即上述方法的所有实施例均适用于该装置,且均能达到相同或相似的有益效果。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种java窗口控件的识别方法,其特征在于,包括:
获取当前java窗口中所有控件的属性信息,所述控件的属性信息中包括有所有控件的位置信息;
获取当前定位的位置信息;
根据当前定位的位置信息以及所述所有控件的位置信息,确定当前定位的目标控件。
2.如权利要求1所述的java窗口控件的识别方法,其特征在于,所述获取当前java窗口中所有控件的属性信息的步骤包括:
从当前java进程中,获取当前java窗口中所有控件的绘制原语;
从所述绘制原语中,获取所述控件的属性信息。
3.如权利要求2所述的java窗口控件的识别方法,其特征在于,所述属性信息还包括:控件的类型信息。
4.如权利要求1所述的java窗口控件的识别方法,其特征在于,获取当前定位的位置信息的步骤包括:
获取当前鼠标指针所在的位置信息。
5.如权利要求1所述的java窗口控件的识别方法,其特征在于,根据当前定位的位置信息以及所述所有控件的位置信息,确定当前定位的目标控件的步骤包括:
将所有控件的位置信息中,位置信息与当前定位的位置信息相同的控件,确定为当前定位的目标控件。
6.如权利要求1所述的java窗口控件的识别方法,其特征在于,确定当前定位的目标控件的步骤之后还包括:
将所述目标控件以一提醒方式显示,并显示所述目标控件的属性信息。
7.如权利要求6所述的java窗口控件的识别方法,其特征在于,将所述目标控件以一突出显示的方式或者对目标控件涂色的方式进行显示。
8.一种java窗口控件的识别装置,其特征在于,包括:
属性获取模块,用于获取当前java窗口中所有控件的属性信息,所述控件的属性信息中包括有所有控件的位置信息;
位置获取模块,用于获取当前定位的位置信息;
定位模块,用于根据当前定位的位置信息以及所述所有控件的位置信息,确定当前定位的目标控件。
9.如权利要求8所述的java窗口控件的识别装置,其特征在于,所述属性获取模块包括:
第一获取子模块,用于从当前java进程中,获取当前java窗口中所有控件的绘制原语;
第二获取子模块,用于从所述绘制原语中,获取所述控件的属性信息。
10.如权利要求8所述的java窗口控件的识别装置,其特征在于,所述装置还包括,
提醒模块,用于在所述定位模块确定当前定位的目标控件之后,将所述目标控件以一提醒方式显示,并显示所述目标控件的属性信息。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510428900.0A CN106371811A (zh) | 2015-07-21 | 2015-07-21 | 一种java窗口控件的识别方法及装置 |
US15/743,679 US20180196578A1 (en) | 2015-07-21 | 2015-11-18 | Method and Device for Identifying Java Window Control |
EP15882455.7A EP3312719B1 (en) | 2015-07-21 | 2015-11-18 | Method and device for identifying java window control |
PCT/CN2015/094910 WO2016131316A1 (zh) | 2015-07-21 | 2015-11-18 | 一种java窗口控件的识别方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510428900.0A CN106371811A (zh) | 2015-07-21 | 2015-07-21 | 一种java窗口控件的识别方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106371811A true CN106371811A (zh) | 2017-02-01 |
Family
ID=56689221
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510428900.0A Pending CN106371811A (zh) | 2015-07-21 | 2015-07-21 | 一种java窗口控件的识别方法及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20180196578A1 (zh) |
EP (1) | EP3312719B1 (zh) |
CN (1) | CN106371811A (zh) |
WO (1) | WO2016131316A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018177436A1 (zh) * | 2017-03-28 | 2018-10-04 | 上海合福信息科技有限公司 | 一种控件验证方法及软件自动测试方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103294336A (zh) * | 2012-02-17 | 2013-09-11 | 联想(新加坡)私人有限公司 | 自动放大和选择确认 |
CN104391797A (zh) * | 2014-12-09 | 2015-03-04 | 北京奇虎科技有限公司 | Gui控件的识别方法和装置 |
CN104679410A (zh) * | 2013-12-03 | 2015-06-03 | 航天信息股份有限公司 | 一种对用户事件的响应方法 |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10500512A (ja) * | 1994-05-16 | 1998-01-13 | アップル コンピュータ, インコーポレイテッド | グラフィカルユーザーインタフェースの形態及び動作のカスタマイズ方法及びシステム |
US9098297B2 (en) * | 1997-05-08 | 2015-08-04 | Nvidia Corporation | Hardware accelerator for an object-oriented programming language |
US6763376B1 (en) * | 1997-09-26 | 2004-07-13 | Mci Communications Corporation | Integrated customer interface system for communications network management |
US6572660B1 (en) * | 1998-08-20 | 2003-06-03 | Russell I. Okamoto | Method and system for creating hyperlinks and hyperlinked documents from the direct manipulation of information (“Drag and link” operation) |
JP2000207092A (ja) * | 1999-01-19 | 2000-07-28 | Internatl Business Mach Corp <Ibm> | 誤操作防止方法及び装置、誤操作の防止のためのソフトウエア・プロダクトを格納した記憶媒体 |
JP3396177B2 (ja) * | 1999-01-26 | 2003-04-14 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ウェブページカスタマイズシステム |
US6490719B1 (en) * | 1999-07-26 | 2002-12-03 | Gary Thomas | System and method for configuring and executing a flexible computer program comprising component structures |
WO2002048852A1 (en) * | 2000-12-14 | 2002-06-20 | Koninklijke Philips Electronics N.V. | Method and system for providing a user profile |
US6802055B2 (en) * | 2001-06-27 | 2004-10-05 | Microsoft Corporation | Capturing graphics primitives associated with any display object rendered to a graphical user interface |
US7080361B2 (en) * | 2001-07-30 | 2006-07-18 | Lockheed Martin Corporation | Process for generating enterprise java bean components from an SQL database |
US20030193481A1 (en) * | 2002-04-12 | 2003-10-16 | Alexander Sokolsky | Touch-sensitive input overlay for graphical user interface |
US20040002048A1 (en) * | 2002-07-01 | 2004-01-01 | Matthew Thurmaier | Method and system for providing a virtual computer classroom |
US20080313282A1 (en) * | 2002-09-10 | 2008-12-18 | Warila Bruce W | User interface, operating system and architecture |
US7299411B2 (en) * | 2002-09-27 | 2007-11-20 | Liberate Technologies | Providing a presentation engine adapted for use by a constrained resource client device |
US7665068B2 (en) * | 2003-12-12 | 2010-02-16 | Oracle International Corporation | Methods and systems for testing software applications |
GB0400354D0 (en) * | 2004-01-08 | 2004-02-11 | Onslow Robert D | A popup window which displays part of a second document when viewing part of a first document |
US20060184511A1 (en) * | 2005-02-16 | 2006-08-17 | Koo Sing C | Semantic network document container for use in attestation of management reports |
DE102005008952A1 (de) * | 2005-02-28 | 2006-09-07 | OCé PRINTING SYSTEMS GMBH | Anordnung und Verfahren zum Ersetzen von Programmdaten einer Steuereinheit |
JP5078413B2 (ja) * | 2006-04-17 | 2012-11-21 | 株式会社リコー | 画像閲覧システム |
US20070264985A1 (en) * | 2006-04-17 | 2007-11-15 | Flextronics Software Systems | Method and system for rapid creation of applications in communication devices |
CN102084386A (zh) * | 2008-03-24 | 2011-06-01 | 姜旻秀 | 利用数字内容关联元信息的关键字广告方法及其关联系统 |
KR101643608B1 (ko) * | 2009-02-13 | 2016-07-29 | 삼성전자주식회사 | 리모트 ui 서비스 제공 방법 및 장치 |
US10191609B1 (en) * | 2010-03-26 | 2019-01-29 | Open Invention Network Llc | Method and apparatus of providing a customized user interface |
US20120290707A1 (en) * | 2011-05-10 | 2012-11-15 | Monolith Technology Services, Inc. | System and method for unified polling of networked devices and services |
CN103064782B (zh) * | 2011-10-21 | 2017-03-15 | 腾讯科技(深圳)有限公司 | 一种获取控件的方法及装置 |
CN103049493B (zh) * | 2012-12-07 | 2016-01-06 | 北京百度网讯科技有限公司 | 用于确定目标页面元素的呈现位置的方法、装置与设备 |
US9436416B2 (en) * | 2014-02-24 | 2016-09-06 | Csr Imaging Us, Lp | Mobile printer controller with high fidelity preview and print job manipulation |
CN104461892B (zh) * | 2014-12-15 | 2018-04-03 | 北京国双科技有限公司 | 自定义控件获取方法和装置 |
CN104462979B (zh) * | 2014-12-26 | 2017-11-07 | 深圳数字电视国家工程实验室股份有限公司 | 一种应用程序的自动化动态检测方法及装置 |
US9808710B2 (en) * | 2015-03-31 | 2017-11-07 | King.Com Ltd. | User interface |
-
2015
- 2015-07-21 CN CN201510428900.0A patent/CN106371811A/zh active Pending
- 2015-11-18 EP EP15882455.7A patent/EP3312719B1/en active Active
- 2015-11-18 WO PCT/CN2015/094910 patent/WO2016131316A1/zh unknown
- 2015-11-18 US US15/743,679 patent/US20180196578A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103294336A (zh) * | 2012-02-17 | 2013-09-11 | 联想(新加坡)私人有限公司 | 自动放大和选择确认 |
CN104679410A (zh) * | 2013-12-03 | 2015-06-03 | 航天信息股份有限公司 | 一种对用户事件的响应方法 |
CN104391797A (zh) * | 2014-12-09 | 2015-03-04 | 北京奇虎科技有限公司 | Gui控件的识别方法和装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018177436A1 (zh) * | 2017-03-28 | 2018-10-04 | 上海合福信息科技有限公司 | 一种控件验证方法及软件自动测试方法 |
Also Published As
Publication number | Publication date |
---|---|
US20180196578A1 (en) | 2018-07-12 |
EP3312719A1 (en) | 2018-04-25 |
WO2016131316A1 (zh) | 2016-08-25 |
EP3312719B1 (en) | 2020-10-28 |
EP3312719A4 (en) | 2018-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9058105B2 (en) | Automated adjustment of input configuration | |
CN105988924B (zh) | 一种非侵入式嵌入式软件图形用户界面自动化测试方法 | |
US9098942B2 (en) | Legend indicator for selecting an active graph series | |
WO2019153604A1 (zh) | 人机识别模型的建立装置、方法及计算机可读存储介质 | |
CN106547534B (zh) | 展示页面扩展点的装置及方法 | |
CN104615538B (zh) | 一种基于手机界面控件元素的手机应用测试方法 | |
CN106649100A (zh) | 一种自动化测试方法及系统 | |
US9612697B2 (en) | Touch control method of capacitive and electromagnetic dual-mode touch screen and handheld electronic device | |
CN107861684A (zh) | 书写识别方法、装置、存储介质及计算机设备 | |
CN105677716A (zh) | 一种计算机数据采集处理分析系统 | |
CN101685497A (zh) | 手写信息处理方法和装置 | |
CN104268118A (zh) | 一种包括触摸屏的数学式计算器及数学公式识别的方法 | |
CN106777036A (zh) | 一种数据渲染方法及数据渲染系统 | |
CN110889056A (zh) | 页面标记的方法及装置 | |
CN101673408A (zh) | 一种在形状识别结果中嵌入文字信息的方法及装置 | |
JP2015035120A (ja) | 表示・実行操作補助プログラム | |
CN109032343B (zh) | 基于视觉和力觉触觉增强现实的工业人机交互系统及方法 | |
CN103365444A (zh) | 一种终端设备上触摸屏的触控方法和终端设备 | |
CN106371811A (zh) | 一种java窗口控件的识别方法及装置 | |
CN106126098A (zh) | 一种能够信息定位的手写签批方法及系统 | |
CN103616973A (zh) | 一种触摸屏的操作方法及触摸屏设备 | |
JP2013084223A (ja) | 接触検出装置、記録表示装置、及びプログラム | |
CN106197394A (zh) | 导航方法及装置 | |
KR20110092754A (ko) | 터치스크린에서의 손가락별 동작을 지원하는 단말기 및 상기 단말기 운용 방법 | |
CN115359793A (zh) | 一种车载语音交互方法、装置及车辆 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170201 |