CN101132413B - 基于Web应用的ActiveX组件的复用方法 - Google Patents

基于Web应用的ActiveX组件的复用方法 Download PDF

Info

Publication number
CN101132413B
CN101132413B CN2007101530344A CN200710153034A CN101132413B CN 101132413 B CN101132413 B CN 101132413B CN 2007101530344 A CN2007101530344 A CN 2007101530344A CN 200710153034 A CN200710153034 A CN 200710153034A CN 101132413 B CN101132413 B CN 101132413B
Authority
CN
China
Prior art keywords
window
information content
web page
write
client
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
Application number
CN2007101530344A
Other languages
English (en)
Other versions
CN101132413A (zh
Inventor
吕鑫
金晓静
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN2007101530344A priority Critical patent/CN101132413B/zh
Publication of CN101132413A publication Critical patent/CN101132413A/zh
Application granted granted Critical
Publication of CN101132413B publication Critical patent/CN101132413B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种基于Web应用的ActiveX组件的复用方法,包括:在基于Web应用的客户端初始化客户端的窗口时,读取客户端在操作系统中占用的进程编号,并将读取到的进程编号设置为窗口名称;客户端的窗口启动Web页面,获取Web页面的代码,并根据ActiveX组件的标识将ActiveX组件加载到Web页面中;以及Web页面的代码调用ActiveX组件的写入或读取函数,由该写入或读取函数根据该进程编号查找到窗口,从而对窗口进行信息内容的写入或读取。通过本发明,实现了Web页面与本机程序信息交互ActiveX组件的模块化、通用化、以及简单化,达到多客户端的复用效果,从而节约了软、硬件资源。

Description

基于Web应用的ActiveX组件的复用方法
技术领域
本发明涉及通讯领域,具体地涉及基于Web的应用软件客户端以及ActiveX组件技术。
背景技术
随着IP网络技术的迅速发展,分布式计算机系统逐渐应用到各个领域之中。在分布式计算机系统中,基于Web的应用方式越来越多。所有与界面以及业务逻辑相关的程序以Web页面方式存放在服务器上,在客户端上只需要包含一个Web浏览器,将操作界面展现给用户。正因为主要的业务逻辑以及操作界面都在服务器端的Web页面程序实现,真正体现了一种“瘦”客户端的思想,更便于操作界面的定制和修改以及业务功能的开发和维护。
在基于Web的应用软件中,通常的做法是在客户端嵌入一个Web浏览器,负责Web页面的下载、解析和显示,但是Web页面代码往往需要与客户端本地程序进行信息交互。
通常,可在Web页面代码中调用ActiveX组件的成员函数,再由ActiveX组件向客户端的本地窗口发送消息的方式实现Web页面与本机程序的信息交互。但是,由于ActiveX组件只有在Web页面加载时创建,并且附属于Web浏览器内核窗口,通过窗口的从属关系无法找到当前客户端程序的指定窗口。按照正常的实现方法,将当前客户端程序中接收ActiveX组件消息的窗口名称固定为一个字符串,ActiveX控件在发送消息之前以这个固定字符串为窗口名称找到该窗口,向该窗口发送消息即可。由于这个ActiveX组件向名称固定的窗口发送消息,带来的问题是这个ActiveX组件只能用于当前的客户端中,不能作为一个通用的ActiveX通讯组件同时为其他基于Web的应用软件客户端提供信息交互接口。
发明内容
考虑到上述问题而做出本发明,为此,本发明的主要目的在于提供一种基于Web应用的ActiveX组件的复用方法,使Web页面与本机程序信息交互模块化、通用化,实现不同客户端之间的模块复用。
根据本发明的基于Web应用的ActiveX组件的复用方法,包括:步骤S102,在基于Web应用的客户端初始化客户端的窗口时,读取客户端在操作系统中占用的进程编号,并将读取到的进程编号设置为窗口名称;步骤S104,客户端的窗口启动Web页面,获取Web页面的代码,并根据ActiveX组件的标识将ActiveX组件加载到Web页面中;以及步骤S106,Web页面的代码调用ActiveX组件的写入或读取函数,由该写入或读取函数根据该进程编号查找到窗口,从而对窗口进行信息内容的写入或读取。
在步骤S106中,在写入时包括以下处理:Web页面的代码调用ActiveX组件的写入函数,写入函数的参数为需要写入到客户端的信息内容;写入函数获取客户端的进程编号,根据进程编号查找窗口,并向窗口传递需要写入的信息内容;以及在读取时包括以下处理:Web页面的代码调用ActiveX组件的读取函数,读取函数的参数为需要从客户端读取的信息内容;读取函数获取客户端的进程编号,根据进程编号查找窗口,并将窗口中获取需要读取的信息内容传递给Web页面的代码。
在该方法的步骤S104中,进一步包括:客户端的窗口启动Web浏览器,设置Web服务器的地址,根据地址从Web服务器获取并解析Web页面,获得Web页面的代码。
此外,在该方法中,在进行写入时,在查找到窗口之后进一步包括:Web页面向窗口发送写入同步消息,写入同步消息中具有需要写入的信息内容的标识,并且根据需要写入的信息内容的标识传递需要写入的信息内容。
此外,在该方法中,需要写入的信息内容的标识为指向需要写入的信息内容的指针。
此外,在该方法中,在进行读取时,在查找到窗口之后进一步包括:Web页面向窗口发送读取同步消息,读取同步消息中具有需要读取的信息内容的标识,客户端将需要读取的信息内容添加到需要读取的信息内容的标识中,从窗口中获取需要读取的信息内容。
此外,在该方法中,需要读取的信息内容的标识为指向需要读取的信息内容的指针。
此外,在该方法中,ActiveX组件的标识为全局唯一标识符。
通过本发明的上述技术方案,实现了Web页面与本机程序信息交互ActiveX组件的模块化、通用化、和简单化,达到多客户端的复用效果,从而节约了软、硬件资源。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是示出了根据本发明实施例的基于Web应用的ActiveX组件的复用方法的流程图;以及
图2是示出了根据本发明实施例的Web页面通过ActiveX通讯组件读取和写入信息的交互流程图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明提供了一种采用ActiveX通讯组件实现Web页面与本地程序信息交互的方法,更重要的是该ActiveX控件可以同时被多个Web客户端复用。
Web页面与本机程序(客户端)的信息交互方式分为写入和读取两种,下面分别描述:
(1)写入:Web页面代码调用ActiveX通讯组件的写入函数,参数为需要传递给本机程序的信息内容。ActiveX通讯组件的写入函数首先获取到当前的进程编号,并将进程编号作为窗口名称找到接收消息的窗口,向该窗口发送同步消息,消息参数为一个指针,指向信息内容。客户端窗口接收到消息后,从以消息参数传送过来的指针中获取信息内容进行相关处理;
(2)读取:Web页面代码调用ActiveX通讯组件的读取函数,参数为读取的信息名称,返回值即为读取的信息内容。ActiveX通讯组件的读取函数首先获取到当前的进程编号,并将进程编号作为窗口名称找到接收消息的窗口,向该窗口发送同步消息,消息参数为一个指针。客户端窗口接收到消息后,读取本地内容,填写到以消息参数传送过来的指针中即可。ActiveX通讯组件发送消息成功后,将指针中的内容作为读取函数的返回值传递给Web页面代码。
图1是示出了根据本发明实施例的基于Web应用的ActiveX组件的复用方法的流程图。
如图1所示,包括:步骤S102,在基于Web应用的客户端初始化客户端的窗口时,读取客户端在操作系统中占用的进程编号,并将读取到的进程编号设置为窗口名称;步骤S104,客户端的窗口启动Web页面,获取Web页面的代码,并根据ActiveX组件的标识将ActiveX组件加载到Web页面中;以及步骤S106,Web页面的代码调用ActiveX组件的写入或读取函数,由该写入或读取函数根据该进程编号查找到窗口,从而对窗口进行信息内容的写入或读取。
其中,在写入时具体可以包括以下处理:Web页面的代码调用ActiveX组件的写入函数,写入函数的参数为需要写入到客户端的信息内容;写入函数获取客户端的进程编号,根据进程编号查找窗口,并向窗口传递需要写入的信息内容。
另一方面,在读取时可以包括以下处理:Web页面的代码调用ActiveX组件的读取函数,读取函数的参数为需要从客户端读取的信息内容;读取函数获取客户端的进程编号,根据进程编号查找窗口,并将窗口中获取需要读取的信息内容传递给Web页面的代码。
在该方法的步骤S104中,进一步包括:客户端的窗口启动Web浏览器,设置Web服务器的地址,根据地址从Web服务器获取并解析Web页面,获得Web页面的代码。
此外,在该方法中,在进行写入时,在查找到窗口之后进一步包括:Web页面向窗口发送写入同步消息,写入同步消息中具有需要写入的信息内容的标识,并且根据需要写入的信息内容的标识传递需要写入的信息内容。
此外,在该方法中,需要写入的信息内容的标识为指向需要写入的信息内容的指针。
此外,在该方法中,在进行读取时,在查找到窗口之后进一步包括:Web页面向窗口发送读取同步消息,读取同步消息中具有需要读取的信息内容的标识,客户端将需要读取的信息内容添加到需要读取的信息内容的标识中,从窗口中获取需要读取的信息内容。
此外,在该方法中,需要读取的信息内容的标识为指向需要读取的信息内容的指针。
此外,在该方法中,ActiveX组件的标识为全局唯一标识符。
这里以IPTV PC客户端软件为例,详细说明Windows操作系统下Microsoft Visual C++作为开发工具的实现方法。基于Web应用的客户端程序包含主程序(客户端)窗口、Web浏览器(Internet Explorer浏览器组件)和ActiveX通讯组件三个模块。
图2是示出了根据本发明实施例的Web页面通过ActiveX通讯组件读取和写入信息的交互流程图。
如图2所示,其中,主程序窗口实现本机的一些界面显示以及接收和处理ActiveX通讯组件发送过来的消息;Web浏览器按照主控窗口设置的服务器地址下载并解析、展示Web页面;ActiveX通讯组件由Web页面调用相关接口负责与主控窗口之间的消息通讯。
参照以上系统模型,本发明包括以下步骤:
步骤S202,客户端主程序窗口名称设置:
客户端程序启动时,在主窗口(窗口)初始化函数中,(本机主程序,即,客户端主程序)调用Windows API函数GetCurrentProcessId获取当前进程编号,该编号一般为4位的数字,例如:2068,将其转换为字符串后设置为窗口名称;
步骤S204,Web页面以及ActiveX通讯组件加载:
客户端主窗口启动Web浏览器,并设置Web服务器地址。Web浏览器从Web服务器上下载、解析Web页面,然后根据Web页面代码加载ActiveX组件;
步骤S206,Web页面与主程序窗口之间的信息交互:
Web页面与主程序窗口之间的信息交互分为写入和读取两种,下面分别描述:
(1)写入:如图2所示,Web页面代码直接调用ActiveX通讯组件的Write函数,参数为需要传递给主窗口的信息内容。ActiveX通讯组件在Write函数中首先调用Windows API函数GetCurrentProcessId获取当前进程编号,此时读取到的编号应为2068,然后以该进程编号作为窗口名称调用Windows API函数FindWindow得到主窗口句柄,接下来再调用Windows API函数SendMessage向主窗口发送同步消息,消息参数为指向信息内容的指针。主窗口接收到消息后,从消息参数中取出信息内容即可进行相关处理;
(2)读取:如图2所示,Web页面代码直接调用ActiveX通讯组件的Read函数,参数为需要从本机读取的信息类型,返回值为读取到的信息内容。ActiveX通讯组件在Read函数中同样首先调用Windows API函数GetCurrentProcessId获取当前进程编号,此时读取到的编号应为2068,然后以该进程编号作为窗口名称调用Windows API函数FindWindow得到主窗口句柄,接下来再调用Windows API函数SendMessage向主窗口发送同步消息,消息参数为指向一个结构的指针。该结构包含需要读取的信息类型和分配好的地址空间。主窗口接收到消息后,从消息参数的结构指针中取出信息类型,读取本机的信息后填入到结构指针中分配好的地址空间。ActiveX通讯组件调用SendMessage函数返回后,将结构指针中读取到的内容作为Read函数的返回值传递给Web页面。
综上所述,本发明实现了Web页面与本机程序信息交互ActiveX组件的模块化、通用化、以及简单化,达到多客户端的复用效果,从而节约了软、硬件资源。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种基于Web应用的ActiveX组件的复用方法,其特征在于,包括:
步骤S102,在基于Web应用的客户端初始化所述客户端的窗口时,读取所述客户端在操作系统中占用的进程编号,并将读取到的所述进程编号设置为所述窗口的名称;
步骤S104,所述客户端的窗口启动Web页面,获取所述Web页面的代码,并根据ActiveX组件的标识将所述ActiveX组件加载到所述Web页面中;以及
步骤S106,所述Web页面的代码调用所述ActiveX组件的写入或读取函数,由所述写入或读取函数根据所述进程编号查找到所述窗口,从而对所述窗口进行信息内容的写入或读取,所述写入函数或读取函数的参数设置为需要写入到所述客户端的信息内容或需要从所述客户端读取的信息内容,所述Web页面向所述窗口发送写入同步消息或读取同步消息,其中具有需要写入的所述信息内容的标识或者需要读取的所述信息内容的标识,根据标识传递需要写入的信息内容或者需要读取的信息内容。
2.根据权利要求1所述的方法,其特征在于,所述步骤S106进一步包括:
在写入时包括以下处理:所述Web页面的代码调用所述ActiveX组件的写入函数,所述写入函数的参数为需要写入到所述客户端的信息内容;所述写入函数获取所述进程编号,根据所述进程编号查找所述窗口,并向所述窗口传递需要写入的所述信息内容;以及
在读取时包括以下处理:所述Web页面的代码调用所述ActiveX组件的读取函数,所述读取函数的参数为需要从所述客户端读取的信息内容;所述读取函数获取所述进程编号,根据所述进程编号查找所述窗口,并将所述窗口中获取需要读取的所述信息内容传递给所述Web页面的代码。
3.根据权利要求1所述的方法,其特征在于,在所述步骤S104中,进一步包括:所述客户端的所述窗口启动Web浏览器,设置Web服务器的地址,根据所述地址从所述Web服务器获取并解析所述Web页面,获得所述Web页面的代码。
4.根据权利要求1所述的方法,其特征在于,需要写入的所述信息内容的标识为指向需要写入的所述信息内容的指针。
5.根据权利要求1所述的方法,其特征在于,需要读取的所述信息内容的标识为指向需要读取的所述信息内容的指针。
6.根据权利要求1至5任一所述的方法,其特征在于,所述ActiveX组件的标识为全局唯一标识符。
CN2007101530344A 2007-09-18 2007-09-18 基于Web应用的ActiveX组件的复用方法 Active CN101132413B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2007101530344A CN101132413B (zh) 2007-09-18 2007-09-18 基于Web应用的ActiveX组件的复用方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007101530344A CN101132413B (zh) 2007-09-18 2007-09-18 基于Web应用的ActiveX组件的复用方法

Publications (2)

Publication Number Publication Date
CN101132413A CN101132413A (zh) 2008-02-27
CN101132413B true CN101132413B (zh) 2010-10-06

Family

ID=39129537

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101530344A Active CN101132413B (zh) 2007-09-18 2007-09-18 基于Web应用的ActiveX组件的复用方法

Country Status (1)

Country Link
CN (1) CN101132413B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101639774B (zh) * 2009-08-31 2012-06-27 腾讯科技(深圳)有限公司 一种浏览器控件的封装方法及装置
CN102156745A (zh) * 2011-04-19 2011-08-17 北京神州数码思特奇信息技术股份有限公司 一种通过ActiveX控件连续浏览Web网页的方法及系统
CN103777967B (zh) * 2012-10-17 2017-08-04 阿里巴巴集团控股有限公司 页面返回方法、页面生成方法和装置
CN103064747A (zh) * 2012-12-13 2013-04-24 郑州威科姆科技股份有限公司 Wes7环境中不同web窗口页面间的通信方法
CN105022630B (zh) * 2015-06-30 2019-01-22 中标软件有限公司 一种组件管理系统及组件管理方法
CN105045616B (zh) * 2015-07-03 2018-02-23 浪潮软件集团有限公司 一种调用驱动的方法及装置
CN106549907B (zh) * 2015-09-17 2019-10-11 阿里巴巴集团控股有限公司 一种web app访问方法、装置和系统
CN106202244B (zh) * 2016-06-28 2020-01-21 深圳中兴网信科技有限公司 网页消息返回方法和网页消息返回系统
CN109144579B (zh) * 2018-07-17 2023-09-29 广州睿本信息科技有限公司 一种Web系统读取硬件的方法及计算机可读存储介质
CN111198735A (zh) * 2018-11-20 2020-05-26 深圳市优必选科技有限公司 一种图层信息获取方法、图层信息获取装置及终端设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004114192A1 (en) * 2003-06-16 2004-12-29 Gsi Group Limited Monitoring and controlling of laser operation
CN1834918A (zh) * 2005-11-04 2006-09-20 北京金山软件有限公司 一种组件间调用方法
CN1889048A (zh) * 2006-08-03 2007-01-03 华为技术有限公司 组件的实现方法以及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004114192A1 (en) * 2003-06-16 2004-12-29 Gsi Group Limited Monitoring and controlling of laser operation
CN1834918A (zh) * 2005-11-04 2006-09-20 北京金山软件有限公司 一种组件间调用方法
CN1889048A (zh) * 2006-08-03 2007-01-03 华为技术有限公司 组件的实现方法以及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CN 1889048 A,全文.

Also Published As

Publication number Publication date
CN101132413A (zh) 2008-02-27

Similar Documents

Publication Publication Date Title
CN101132413B (zh) 基于Web应用的ActiveX组件的复用方法
US8402432B2 (en) System and method of creating and communicating with component based wireless applications
CN102427480B (zh) 一种多应用服务平台系统中的应用访问方法
US7840647B2 (en) System, method, and computer program product for executing scripts on mobile devices
CN101106578B (zh) 一种更换界面主题的方法和系统
US20020059405A1 (en) Methods systems and computer program products for the automated discovery of a services menu
US20020078147A1 (en) Data consultation optimisation method, by means of a network architecture component
US20120331372A1 (en) Methods for making ajax web applications bookmarkable and crawlable and devices thereof
JP2002215486A (ja) Wsdlに基づいたコントローラ装置用通信システム
CN103176834B (zh) 一种调用扩展接口的方法及装置
CN102096582A (zh) 离线小工具集成开发环境
CN101184105A (zh) 一种用于更新数据的客户端装置和方法
CA2540361A1 (en) System and method for extending capabilities and execution efficiency of script based applications
US11151219B2 (en) Generating rich digital documents from limited instructional data
US20110320286A1 (en) System And Method For Integrating An Ad Banner With A Calling Application
CN102510410A (zh) 在线广告投放方法、系统及广告控制设备
US20050172281A1 (en) System and method for customized provisioning of application content
CN101860734A (zh) 一种ajax实现动态图像增量传输与显示的方法
CN102594859B (zh) 一种业务数据的呈现方法、终端、服务器及系统
CN102314468A (zh) 一种同步浏览的方法
US20090024664A1 (en) Method and system for generating a content-based file, and content-based data structure
CN103425473A (zh) 一种开放式微博的实现方法和系统
US7908397B1 (en) Application server gateway technology
US20130332568A1 (en) Method of data processing by a navigation module
CN102137037A (zh) 一种基于社区平台的网页区块同步浏览方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: NANJING ZHONGXING NEW SOFTWARE CO., LTD

Free format text: FORMER OWNER: ZTE CORPORATION

Effective date: 20150519

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 518057 SHENZHEN, GUANGDONG PROVINCE TO: 210012 NANJING, JIANGSU PROVINCE

TR01 Transfer of patent right

Effective date of registration: 20150519

Address after: Yuhuatai District of Nanjing City, Jiangsu province 210012 Bauhinia Road No. 68

Patentee after: Nanjing Zhongxing New Software Co., Ltd.

Address before: 518057 Nanshan District science and Technology Industrial Park, Guangdong high tech Industrial Park, ZTE building

Patentee before: ZTE Corporation

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20170616

Address after: 518057 Nanshan District science and technology, Guangdong Province, South Road, No. 55, No.

Patentee after: ZTE Corporation

Address before: Yuhuatai District of Nanjing City, Jiangsu province 210012 Bauhinia Road No. 68

Patentee before: Nanjing Zhongxing New Software Co., Ltd.