CN108762865A - 一种信息拦截方法及装置 - Google Patents
一种信息拦截方法及装置 Download PDFInfo
- Publication number
- CN108762865A CN108762865A CN201810424266.7A CN201810424266A CN108762865A CN 108762865 A CN108762865 A CN 108762865A CN 201810424266 A CN201810424266 A CN 201810424266A CN 108762865 A CN108762865 A CN 108762865A
- Authority
- CN
- China
- Prior art keywords
- information
- handle
- control
- client
- client softwares
- 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
- 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)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明涉及一种信息拦截方法及装置,该方法包括如下步骤:在UI客户端软件上层部署拦截信息装置;获取UI客户端软件的句柄;通过所述句柄,获得UI客户端软件每一个控件的信息接口对象;通过所述信息接口对象,获取每一个控件的显示信息。本发明能够可以从UI客户端软件可轻松获得用户的输入;每个客户端只会部署一个拦截信息模块,实现信息拦截。
Description
【技术领域】
本发明属于信息处理技术领域,尤其涉及一种信息拦截方法及装置。
【背景技术】
目前企业采用C/S架构的windows客户端软件时,其中界面的设计和实现往往是很重要的一部分,界面上展示了和用户的交流的所有信息,客户端上的菜单、按钮、文本框、选择输入框等组件,相互配合,完成和用户的业务交流。支持MSAA(Microsoft ActiveAccessibility)技术的界面实现也是很多的。获取客户端上的各个控件的值,则可以获得用户的输入信息。
采用C/S构建的Windows客户端软件,需要直接进行网络拦截,解析发送给服务器的数据包,进而获得用户发送给服务器的数据,但是目前C/S客户端和服务器的通信大都是进行了加密处理,无法获得数据,或者通过读取本地的数据库获得相关信息。
现有的信息拦截技术存在如下缺点:
(1)客户端向服务器发送数据包时,加密后,则无法获得信息。
(2)客户端本地数据库中信息不全面,无本地数据库时,无法获得信息。
【发明内容】
为了解决现有技术中的上述问题,本发明提出了一种信息拦截方法,该方法包括如下步骤:
在UI客户端软件上层部署拦截信息装置;
获取UI客户端软件的句柄;
通过所述句柄,获得UI客户端软件每一个控件的信息接口对象;
通过所述信息接口对象,获取每一个控件的显示信息。
根据本发明的方法,优选的,UI客户端软件启动时,Windows操作系统为每一个UI客户端软件创建顶层的句柄。
根据本发明的方法,优选的,通过微软编程接口GetCapture,获得当前用户操作的UI客户端软件的句柄;或
通过微软编程接口FindWindow,获得特定的UI客户端软件句柄。
根据本发明的方法,优选的,通过微软编程接口AccessibleObjectFromWindow,获得软件的顶层IAccessible对象;
通过对顶层的IAccessible对象进行遍历,获得UI客户端软件每一个控件的IAccessible对象。
根据本发明的方法,优选的,通过调用控件的成员函数,获取每一个控件的显示信息,即用户的输入信息。
为了解决现有技术中的上述问题,本发明提出了一种拦截信息装置,该拦截信息装置包括:句柄提取子模块、控件提取子模块和信息提取子模块;
该拦截信息装置部署在UI客户端软件上层;
通过句柄提取子模块获取UI客户端软件的句柄;
控件提取子模块通过所述句柄,获得UI客户端软件每一个控件的信息接口对象;
信息提取子模块通过所述信息接口对象,获取每一个控件的显示信息。
根据本发明的模块,优选的,UI客户端软件启动时,Windows操作系统为每一个UI客户端软件创建顶层的句柄。
根据本发明的模块,优选的,句柄提取子模块通过微软编程接口GetCapture,获得当前用户操作的UI客户端软件的句柄;或
句柄提取子模块通过微软编程接口FindWindow,获得特定的UI客户端软件句柄。
根据本发明的模块,优选的,控件提取子模块通过微软编程接口AccessibleObjectFromWindow,获得软件的顶层IAccessible对象;
控件提取子模块通过对顶层的IAccessible对象进行遍历,获得UI客户端软件每一个控件的IAccessible对象。
根据本发明的模块,优选的,信息提取子模块调用控件的成员函数,获取每一个控件的显示信息,即用户的输入信息。
本发明的有益效果包括:可以从UI客户端软件可轻松获得用户的输入;每个客户端只会部署一个模块,即为拦截信息模块。
【附图说明】
此处所说明的附图是用来提供对本发明的进一步理解,构成本申请的一部分,但并不构成对本发明的不当限定,在附图中:
图1是本发明中基于MSAA技术信息获得方法总体技术方案图。
图2是本发明的MSAA技术信息获得流程示例图示意图。
【具体实施方式】
下面将结合附图以及具体实施例来详细说明本发明,其中的示意性实施例以及说明仅用来解释本发明,但并不作为对本发明的限定。
MSAA,全称是Microsoft Active Accessibility。这是类似DCOM技术。技术模型是这样的,UI程序可以暴露出一个Interface,方便另一个程序对其进行控制。MSAA技术的初衷是为了方便残疾人使用Windows程序。比如盲人看不到窗口,但是盲人可以通过一个USB读屏器连接到电脑上,读屏器通过UI程序暴露出来的这个接口,就可以获取程序信息,通过盲文或者其它形式传递给盲人。
UI,全称是User Interface。用户界面,也称人机界面。是指用户和某些系统进行交互方法的集合,这些系统不单单指电脑程序,还包括某种特定的机器,设备,复杂的工具等。
句柄,在Windows系统中,一个句柄是指使用的一个唯一的整数值,即一个4字节(64位程序中为8字节)长的数值,来标识应用程序中的不同对象和同类中的不同的实例,诸如,一个窗口,按钮,图标,滚动条,输出设备,控件或者文件等。应用程序能够通过句柄访问相应的对象的信息,但是句柄不是指针,程序不能利用句柄来直接阅读文件中的信息。
IAccessible接口,当界面使用MSAA编程时,可以使用IAccessible接口来对其进行管控,获得控件中的信息。
本发明基于MSAA技术信息获取方法总体技术方案图如上图1所示,上述总体技术方案图中包含用户、客户端、UI客户端软件、拦截信息模块、服务器。
由于采用C/S构建的windows客户端软件,其界面展示是和用户交互的窗口,通过获得用户界面中的各个组件的值,继而获得和服务器交互的原始信息。由于客户可以在多个客户端上操作其UI客户端软件,拦截信息模块必须在每个客户端上进行部署,当用户和UI客户端软件进行业务交互时,部署在UI客户端软件上层的拦截模块会获得信息。拦截信息模块会利用MASS技术,自动获得客户端软件的对应控件的信息,获得用户的输入。
本发明提供了一种信息拦截方法,该方法包括如下步骤:
步骤S1,在UI客户端软件上层部署拦截信息模块。
UI客户端软件启动时,Windows操作系统为每一个UI客户端软件创建顶层的句柄。
步骤S2,获取UI客户端软件的句柄。
通过微软编程接口GetCapture,获得当前用户操作的UI客户端软件的句柄;或
通过微软编程接口FindWindow,获得特定的UI客户端软件句柄。
步骤S3,通过所述句柄,获得UI客户端软件每一个控件的信息接口对象。
通过微软编程接口AccessibleObjectFromWindow,获得软件的顶层IAccessible对象;
通过对顶层的IAccessible对象进行遍历,获得UI客户端软件每一个控件的IAccessible对象。
步骤S4,通过所述信息接口对象,获取每一个控件的显示信息。
通过调用控件的成员函数,获取每一个控件的显示信息,即用户的输入信息。
本实施示例图如图2所示,拦截信息模块部署在UI客户端软件的上层,通过句柄提取模块、控件提取模块、信息提取模块,三个模块配合工作。
句柄提取模块:UI客户端软件启动时,windows操作系统就会为其创建顶层的句柄,每一个UI客户端软件都会具有自己的句柄,windows操作系统为管理方便,其句柄是不会重复的。通过微软编程接口GetCapture,可以获得当前用户操作的UI客户端软件的句柄;也可以通过微软编程接口FindWindow,可以获得特定的UI客户端软件句柄。GetCapture方法获得当前鼠标指向的软件的句柄;FindWindow接口需要指定软件的名字。Windows操作系统提供了两个方法都可以获得软件的句柄,即通过两种途径实现同样的功能。
控件提取模块:通过句柄提取模块,可以获得对应UI客户端软件的对应句柄。有了句柄,通过微软编程接口AccessibleObjectFromWindow,可以获得软件顶层的IAccessible对象。因为每个控件都有自己的IAccessible对象,比如说“按钮”、“选择框”都是不同的IAccessible对象,所以一个软件会有多个不同的IAccessible对象,相互之间都有父子关系。首先需要获得到的是软件顶层的IAccessible对象,然后根据这个顶层父节点的IAccessible对象,来获得其子节点IAccessible对象。那么对顶层的IAccessible对象进行遍历的话,可以获得其中每一个控件的IAccessible对象。
信息提取模块:通过控件提取模块,可以获得每一个控件的IAccessible对象。调用控件的get_accValue成员函数,获取每一个控件的显示信息。显示信息就是用户的输入信息。
本发明从用户在客户端的界面输入内容,直接获得发送给服务器的内容。而且是在客户端发送给服务器之前就可以获得将要发送给服务器的内容。可以从UI客户端软件可轻松获得用户的输入;每个客户端只会部署一个模块,进行信息拦截。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、系统、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式发送机或其他可编程数据发送终端设备的发送器以产生一个机器,使得通过计算机或其他可编程数据发送终端设备的发送器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的系统。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据发送终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令系统的制造品,该指令系统实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据发送终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的发送,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种一种信息拦截方法及装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种信息拦截方法,其特征在于,该方法包括如下步骤:
在UI客户端软件上层部署拦截信息装置;
获取UI客户端软件的句柄;
通过所述句柄,获得UI客户端软件每一个控件的信息接口对象;
通过所述信息接口对象,获取每一个控件的显示信息。
2.根据权利要求1所述的方法,其特征在于,UI客户端软件启动时,Windows操作系统为每一个UI客户端软件创建顶层的句柄。
3.根据权利要求1所述的方法,其特征在于,通过微软编程接口GetCapture,获得当前用户操作的UI客户端软件的句柄;或
通过微软编程接口FindWindow,获得特定的UI客户端软件句柄。
4.根据权利要求1所述的方法,其特征在于,通过微软编程接口AccessibleObjectFromWindow,获得软件的顶层IAccessible对象;
通过对顶层的IAccessible对象进行遍历,获得UI客户端软件每一个控件的IAccessible对象。
5.根据权利要求4所述的方法,其特征在于,通过调用控件的成员函数,获取每一个控件的显示信息,即用户的输入信息。
6.一种拦截信息装置,其特征在于,该拦截信息装置包括:句柄提取模块、控件提取模块和信息提取模块;
该拦截信息装置部署在UI客户端软件上层;
通过句柄提取模块获取UI客户端软件的句柄;
控件提取模块通过所述句柄,获得UI客户端软件每一个控件的信息接口对象;
信息提取模块通过所述信息接口对象,获取每一个控件的显示信息。
7.根据权利要求6所述的装置,其特征在于,UI客户端软件启动时,Windows操作系统为每一个UI客户端软件创建顶层的句柄。
8.根据权利要求6所述的装置,其特征在于,句柄提取模块通过微软编程接口GetCapture,获得当前用户操作的UI客户端软件的句柄;或
句柄提取模块通过微软编程接口FindWindow,获得特定的UI客户端软件句柄。
9.根据权利要求6所述的装置,其特征在于,控件提取模块通过微软编程接口AccessibleObjectFromWindow,获得软件的顶层IAccessible对象;
控件提取模块通过对顶层的IAccessible对象进行遍历,获得UI客户端软件每一个控件的IAccessible对象。
10.根据权利要求9所述的装置,其特征在于,信息提取模块调用控件的成员函数,获取每一个控件的显示信息,即用户的输入信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810424266.7A CN108762865A (zh) | 2018-05-07 | 2018-05-07 | 一种信息拦截方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810424266.7A CN108762865A (zh) | 2018-05-07 | 2018-05-07 | 一种信息拦截方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108762865A true CN108762865A (zh) | 2018-11-06 |
Family
ID=64009334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810424266.7A Pending CN108762865A (zh) | 2018-05-07 | 2018-05-07 | 一种信息拦截方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108762865A (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060271637A1 (en) * | 2005-05-27 | 2006-11-30 | Microsoft Corporation | Techniques for providing accessibility options in remote terminal sessions |
CN102024050A (zh) * | 2010-12-16 | 2011-04-20 | 浙江大学 | 一种网页浏览方法 |
-
2018
- 2018-05-07 CN CN201810424266.7A patent/CN108762865A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060271637A1 (en) * | 2005-05-27 | 2006-11-30 | Microsoft Corporation | Techniques for providing accessibility options in remote terminal sessions |
CN102024050A (zh) * | 2010-12-16 | 2011-04-20 | 浙江大学 | 一种网页浏览方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112000365B (zh) | 基于微服务架构的服务网格配置方法、装置、设备和介质 | |
US11635974B2 (en) | Providing a different configuration of added functionality for each of the stages of predeployment, deployment, and post deployment using a layer of abstraction | |
EP2351302B1 (en) | Unified interface for configuring multiple networking technologies | |
EP2356580B1 (en) | Common configuration application programming interface | |
EP2351457B1 (en) | Creating cross-technology configuration settings | |
US10372583B2 (en) | Enhanced policy editor with completion support and on demand validation | |
US9003433B2 (en) | Off-premise and codeless process-centric business mashup to integrate BPEL based processes and web 2.0 widgets | |
CN107959817B (zh) | 一种字幕显示方法和装置 | |
US9323728B2 (en) | Coordinating the management of the layout and design of portal pages with the management of its associated web content | |
US11729053B1 (en) | Dynamic application configuration techniques | |
CN113568970A (zh) | 应用业务数据管理方法、装置、设备以及存储介质 | |
CN103530135A (zh) | 代理服务生成装置和代理服务生成方法 | |
CN116982029A (zh) | 对基于事件的应用进行托管 | |
CN111597112A (zh) | 自动测试方法、装置及电子设备 | |
EP3594823B1 (en) | Information display method, terminal and server | |
CN108762865A (zh) | 一种信息拦截方法及装置 | |
US20050066016A1 (en) | Interface for configuring internet communications on a z series computer | |
CN115079873A (zh) | 信息显示方法、装置、电子设备和存储介质 | |
CN112558968A (zh) | 一种资源树视图的生成方法、装置、设备及存储介质 | |
CN108153525B (zh) | 一种构建交互界面的方法、装置及电子设备 | |
CN106489147B (zh) | 建立总管系统的方法 | |
CN103001981A (zh) | 一种调用能力服务的方法及系统 | |
KR101341598B1 (ko) | 네트워크상에서 패킷 분석을 통해 식별 및 수집된 sap gui 통신 데이터를 기반으로 sap gui 응용프로그램상의 사용자 입/출력 화면을 재현하기 위한 장치 및 방법 | |
CN103135986B (zh) | 一种操作采集方法及系统 | |
CN101989197A (zh) | 一种可实现web程序权限复用的系统及生成和访问此程序的方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181106 |