CN107741862A - 一种桌面应用程序跨进程的数据抓取方法 - Google Patents
一种桌面应用程序跨进程的数据抓取方法 Download PDFInfo
- Publication number
- CN107741862A CN107741862A CN201610709228.7A CN201610709228A CN107741862A CN 107741862 A CN107741862 A CN 107741862A CN 201610709228 A CN201610709228 A CN 201610709228A CN 107741862 A CN107741862 A CN 107741862A
- Authority
- CN
- China
- Prior art keywords
- data
- multipad
- windows
- striding course
- grab method
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/543—User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种桌面应用程序跨进程的数据抓取方法,本发明所述方法包括:采用Windows提供的消息钩挂功能进行DLL注入,在对方的程序中运行自己的代码,通过修改WindowsAPI的入口地址进行API钩挂,以获取对方程序所有在界面显示的数据。本发明提出的桌面应用程序跨进程的数据抓取方法,可适应的系统多,可复用性高,且成本低廉。
Description
技术领域
本发明属于互联网医疗技术领域,涉及一种数据抓取方法,尤其涉及一种桌面应用程序跨进程的数据抓取方法。
背景技术
随着我国医院数字化、信息化建设的发展,医院信息管理系统(HIS)、检验信息系统(LIS)、影像系统(PACS)、体检管理系统(PEIS)、电子病历(EMR)等各种医疗子系统已被医院所采用。以往医院需要对各系统的数据进行关联并在院内共享,以方便在各个科室提取并分析数据。在现有的互联网时代,如能够将数据正确地提取、重构并利用互联网传输,将极大地提高医疗资源的灵活配置,使远程会诊、远程医疗成为一种常见的、低成本的、便捷的就诊手段。
在远程会诊、远程医疗系统的使用过程中,需要发起方将病案相关资料如病人信息、病情描述、检查信息等 通过Internet发送至受邀方进行诊断,其资料可能是文字、图片、音频、视频等。等待受邀方诊断完成后再将诊断结果、相关医嘱及报告返回给发起方,以完成一次诊断。而本发明用于解决发起方资料采集及发送的问题。
现有技术中,通常采取下述方式实现资料的采集:
第一,在远程会诊、远程医疗系统中提供资料上传的接口,例如支持文件的上传、文字或图片的扫描、摄像头的拍照等。同时部分系统支持实时的视频语音聊天,以支持问诊功能。采用该方式的优点在于:该方式无需介入医院自生的子系统,开发实施都较为简便。
第二,在远程会诊、远程医疗系统开发的过程中与各个医院的子系统做接口,进行数据的采集,并转换为自身可以识别的数据在远程会诊的过程中提供给受邀方查阅。采用该方式的优点在于:该方式可以整合医院所有子系统的数据,并且数据的准确性及完成性可以得到有效的保证。
第三,开发专有的远程会诊系统,使用特有的设备来支持该系统的运行,一般仅用医技相关科室。如远程病理系统,使用全自动数字切片扫描系统用以支持受邀方远程调整设备,进行标本检查,并出相关报告。采用该方式的优点在于:该方式可以让受邀方一定程度上控制检查的过程,以保证检查数据的有效性,提高诊断的正确性。
在实现本发明的过程中,现有技术至少存在以下问题:
第一,该方式仅提供了资料上传的接口,增加的会诊发起方的录入负担,同时也增加了数据录入发生错误的几率。同时针对于某些数据如影像、视频等,一般无法提供原始的信息,只能退而求其次采用打印出的报告单进行上传,从而影像远程医生的诊断。现阶段使用信息系统的医院越来越多,无法直接从中提取数据而需要打印扫描并上传的远程会诊系统显然是对现有资源的一种浪费。
第二,该方式极大地增加了远程会诊、远程医疗系统的开发成本。现有医院的信息系统在绝大部分情况下是由不同的厂家提供的,由于没有统一的标准,并且远程会诊所需的数据量较大,一般还需涉及各个子系统的改造,整合医院各个系统的数据成了几乎不可能完成的任务。在现有阶段很少有医院能够花如此成本及时间来开发远程会诊系统。
第三,该方式一般仅用于医技科室,其使用范围过窄,并且投入成本较高,并且无法利用现有设备。由于以上特点,该方案其实并不适合通用的远程会诊及远程医疗,只能充当其补充,无法大面积应用推广。
发明内容
为了解决现有技术的问题,在现有医疗相关信息系统中,因为需要与设备连接,绝大多数的仍旧使用的C/S方式来实现系统的界面,本发明提供了一种桌面应用程序跨进程的数据抓取方法。
所述技术方案如下:本发明采用Windows提供的消息钩挂功能进行DLL注入,在对方的程序中运行自己的代码,通过修改WindowsAPI的入口地址进行API钩挂,以获取对方程序所有在界面显示的数据。
本发明具体实施方式在于:
a)通过客户端配置确定目标进程,按进程名使用Windows提供的消息钩挂功能进行注入。
b)利用Windows提供的API获取窗体的信息及窗体之间的关系。
c)利用窗体的信息及窗体之间的关系确定是否为需要的数据。
d)使用Windows提供的API获取窗体相关的文字。
e)通过修改Windows API的入口地址进行API钩挂,以获取显示在界面的数据。
f)对于特殊数据可用窗体截屏进行数据处理。
g)使用Windows提供的进程间通信相关API将数据发送至目标客户端,再提交至服务器。
所述数据抓取方法,其特征在于:
a)使用Windows的Hook技术跨进程获取其他桌面应用程序的数据。
b)使用进程间通信机制将数据从其他应用程序传送至己方客户端程序。
所述客户端配置的配置装载为:条件判断、目标定位、事件截获、数据获取、数据处理、动作处理、进程间通信。
所述数据抓取方法,其特征在于:所述进程间通信机制为文件映射并结合Windows内核事件的通信处理方式。
所述数据抓取方法,其特征在于,所述数据为应用程序在界面上输入或显示的数据,包含文本、显示的格式、图像等。
所述数据抓取方法,其特征在于,所述数据为应用程序所涉及的医疗业务数据。
本发明提供的技术方案带来的有益效果是:
由于数据获取的来源是其他程序的界面,无需理解后台数据与前台显示的逻辑转换关系,可直接获取到用户想看到的数据。同时无需与其他子系统的厂家沟通接口开发相关事宜,仅需了解子系统界面的操作及显示含义,一般与用户沟通即可满足。因为不涉及数据层、中间逻辑层,可适应的系统多,可复用性高,且成本低廉。
附图说明
图1是桌面应用程序跨进程的数据抓取示意图。
图2是配置装载示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面对本发明实施方式作进一步地详细描述。
数据的获取:通过插入消息钩子注入动态库,同时监视程序消息事件,在特定事件触发时获取特定的数据,并通过进程间通信发送至客户端,基本实现过程如下:
(1)首先通过客户端配置确定目标进程,一般通过进程名进行识别。
(2)使用WindowsAPI查询目标进程的主线程,并插入消息钩子,将模块注入至对方进程。
(3)模块装载特定的配置文件,生成需定位的目标,定位目标的条件,需要触发的事件,触发事件的条件,需要获取的数据,获取数据的方式,数据预处理的方式等必要信息。
(3)在程序发生特定事件时触发相关方法,模块执行数据获取操作,并使用进程间通信(FileMapping、Pipe、Socket)发送至客户端。
(4)客户端校验数据,通过后使用WebService或FTP文件的方式将数据发送至服务器。
Claims (7)
1.一种桌面应用程序跨进程的数据抓取方法,其特征在于:采用Windows提供的消息钩挂功能进行DLL注入,在对方的程序中运行自己的代码,通过修改WindowsAPI的入口地址进行API钩挂,以获取对方程序所有在界面显示的数据。
2.如权利要求1所述桌面应用程序跨进程的数据抓取方法,其特征在于:包括如下步骤,
a)通过客户端配置确定目标进程,按进程名使用Windows提供的消息钩挂功能进行注入;
b)利用Windows提供的API获取窗体的信息及窗体之间的关系;
c)利用窗体的信息及窗体之间的关系确定是否为需要的数据;
d)使用Windows提供的API获取窗体相关的文字;
e)通过修改Windows API的入口地址进行API钩挂,以获取显示在界面的数据;
f)对于特殊数据可用窗体截屏进行数据处理;
g)使用Windows提供的进程间通信相关API将数据发送至目标客户端,再提交至服务器。
3.如权利要求1所述桌面应用程序跨进程的数据抓取方法,其特征在于:所述客户端配置装载为:条件判断、目标定位、事件截获、数据获取、数据处理、动作处理、进程间通信。
4.如权利要求1所述桌面应用程序跨进程的数据抓取方法,其特征在于:
a)使用Windows的Hook技术跨进程获取其他桌面应用程序的数据;
b)使用进程间通信机制将数据从其他应用程序传送至己方客户端程序。
5.如权利要求4所述桌面应用程序跨进程的数据抓取方法,其特征在于,所述进程间通信机制为文件映射并结合Windows内核事件的通信处理方式。
6.如权利要求4所述桌面应用程序跨进程的数据抓取方法,其特征在于,所述数据为应用程序在界面上输入或显示的数据,包含文本、显示的格式、图像等。
7.如权利要求4所述桌面应用程序跨进程的数据抓取方法,其特征在于,所述数据为应用程序所涉及的医疗业务数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610709228.7A CN107741862A (zh) | 2016-08-24 | 2016-08-24 | 一种桌面应用程序跨进程的数据抓取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610709228.7A CN107741862A (zh) | 2016-08-24 | 2016-08-24 | 一种桌面应用程序跨进程的数据抓取方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107741862A true CN107741862A (zh) | 2018-02-27 |
Family
ID=61235028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610709228.7A Pending CN107741862A (zh) | 2016-08-24 | 2016-08-24 | 一种桌面应用程序跨进程的数据抓取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107741862A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109587499A (zh) * | 2018-12-11 | 2019-04-05 | 江苏电力信息技术有限公司 | 一种超高分辨率电脑桌面压缩编码的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1983296A (zh) * | 2005-12-12 | 2007-06-20 | 北京瑞星国际软件有限公司 | 用于防止非法程序窃取用户信息的方法及装置 |
US8255931B2 (en) * | 2008-02-11 | 2012-08-28 | Blue Coat Systems, Inc. | Method for implementing ejection-safe API interception |
CN102651060A (zh) * | 2012-03-31 | 2012-08-29 | 北京奇虎科技有限公司 | 一种漏洞检测的方法和系统 |
CN103559450A (zh) * | 2013-10-11 | 2014-02-05 | 南京邮电大学 | 一种基于内核驱动钩子技术的电子标签数据保护方法 |
-
2016
- 2016-08-24 CN CN201610709228.7A patent/CN107741862A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1983296A (zh) * | 2005-12-12 | 2007-06-20 | 北京瑞星国际软件有限公司 | 用于防止非法程序窃取用户信息的方法及装置 |
US8255931B2 (en) * | 2008-02-11 | 2012-08-28 | Blue Coat Systems, Inc. | Method for implementing ejection-safe API interception |
CN102651060A (zh) * | 2012-03-31 | 2012-08-29 | 北京奇虎科技有限公司 | 一种漏洞检测的方法和系统 |
CN103559450A (zh) * | 2013-10-11 | 2014-02-05 | 南京邮电大学 | 一种基于内核驱动钩子技术的电子标签数据保护方法 |
Non-Patent Citations (1)
Title |
---|
徐江峰: "基于 HOOK API 技术的进程监控系统设计与实现", 《计算机工程与设计》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109587499A (zh) * | 2018-12-11 | 2019-04-05 | 江苏电力信息技术有限公司 | 一种超高分辨率电脑桌面压缩编码的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10673922B2 (en) | Cloud based 2D dental imaging system with HTML web browser acquisition | |
US8886726B2 (en) | Systems and methods for interactive smart medical communication and collaboration | |
US10977796B2 (en) | Platform for evaluating medical information and method for using the same | |
US20130024208A1 (en) | Advanced Multimedia Structured Reporting | |
US20090192813A1 (en) | Information transfer through optical character recognition | |
CN102243692A (zh) | 医疗会议系统及方法 | |
CN104915576A (zh) | 数字化心血管风险评估系统 | |
CN104115112B (zh) | 与应用的上下文式交互 | |
JP2021500953A (ja) | ポイントオブケアブラウザ内のメディカルワークシートと相互作用するための方法および装置 | |
KR20150000355A (ko) | 의료 데이터 관리 방법 및 장치 | |
CN107741862A (zh) | 一种桌面应用程序跨进程的数据抓取方法 | |
US20190087541A1 (en) | Method and system for storing data during updates of electronic medical records | |
US20220181005A1 (en) | Utilizing multi-layer caching systems for storing and delivering images | |
US8494873B2 (en) | Endoscopic inspection information administering system, endoscopic inspection information administering method and computer readable medium | |
CN204856498U (zh) | 数字化心血管风险评估系统 | |
CN110164529B (zh) | 一种信息处理方法、装置、电子设备及存储介质 | |
JP2010128784A (ja) | 統合管理サーバ及びプログラム | |
JP7216660B2 (ja) | 下流のニーズを総合することにより読み取り環境を決定するためのデバイス、システム、及び方法 | |
US20190303488A1 (en) | Multi character set conversion | |
JP6080261B2 (ja) | 画像データ管理装置、方法およびプログラム、並びに画像データ管理システム | |
CN108231136A (zh) | 一种医疗临床数据抓取预处理方法 | |
US20210304894A1 (en) | Medical information processing system and medical information processing apparatus | |
US20230377719A1 (en) | Systems and Methods for Routing Medical Images Using Order Data | |
US20240145068A1 (en) | Medical image analysis platform and associated methods | |
CN108595161B (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 |
Application publication date: 20180227 |
|
WD01 | Invention patent application deemed withdrawn after publication |