在应用程序中制作通用图形界面的方法技术

技术编号:4183735 阅读:233 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种在应用程序中制作通用界面的方法,包括:第1步,原始应用程序通过嵌入程序的载入模块载入所述嵌入程序,所述嵌入程序包括载入模块、驱动模块和控件模块;第2步,载入模块向原始应用程序的图形引擎或图形硬件API申请绘制图片;还申请获得windows消息的优先处理权;第3步,驱动模块以第2步所申请的图片为基础,向控件模块提供图形软件API;驱动模块向控件模块转发windows消息,并将控件模块对windows消息的反馈返回至原始应用程序;第4步,控件模块调用外界的图形界面,或者控件模块自行编写图形界面,将该图形界面显示于第2步所申请的图片。本发明专利技术可以应用于任何图形引擎或图形硬件API。

【技术实现步骤摘要】

本专利技术涉及一种计算机图形界面制作方法。
技术介绍
请参阅图1 (a),通常一个具有图形界面的应用程序是基于一种图形引 擎开发的,这种图形引擎又是基于一种图形硬件API开发的,图形硬件API 再直接控制如显示器、打印机等的硬件输出设备。请参阅图l (b),有些具有图形界面的应用程序较为简单,也可能直接 基于一种图形硬件API开发,而省略图形引擎。目前所广泛使用的图形硬件API包括GDI/GDI+、 DirectX和0penGL三 大类。基于其中任何一种图形硬件API所开发的图形应用程序,只能运行 于这一种图形硬件API之下。
技术实现思路
本专利技术所要解决的技术问题是提供一种在应用程序中制作通用图形界 面的方法,所制作的通用图形界面可以运行于任何图形API之下。为解决上述技术问题,本专利技术 包括如下步骤第1步,原始应用程序通过嵌入程序的载入模块载入所述嵌入程序, 所述嵌入程序包括所述载入模块,还包括驱动模块和控件模块;第2步,所述载入模块向原始应用程序的图形引擎或图形硬件API申请绘制图片;所述载入模块向原始应用程序申请获得windows消息的优先 处理权;第3步,所述驱动模块以第2步所申请的图片为基础,向所述控件模 块提供图形软件API;所述驱动模块向所述控件模块转发windows消息,并 将所述控件模块对windows消息的反馈返回至原始应用程序;第4步,所述控件模块调用外界的图形界面,或者所述控件模块自行 编写图形界面,将该图形界面显示于第2步所申请绘制的图片。本专利技术提供了一种嵌入程序,包括载入模块、驱动模块和控件模块。 其中的载入模块将所述嵌入程序载入到原始应用程序,驱动模块为控件模 块提供了一种图形软件API。无论控件模块调用外部图形界面还是自行编写 图形界面,都只依赖于驱动模块所提供的图形软件API,而不依赖于原始应 用程序的图形引擎或图形硬件API。因此,本专利技术提供了一种在应用程序中 制作通用图形界面的方法,所述的图形界面可以应用于基于任何图形引擎 或图形硬件API的应用程序。附图说明下面结合附图和实施例对本专利技术作进一步详细的说明图1是现有的图形应用程序的开发结构示意图2是本专利技术的流程图3是采用本专利技术所述方法制作图形界面的开发结构示意图。具体实施例方式请参阅图2,本专利技术包括如下步骤第1步,载入模块在原始应用程序中载入嵌入程序,所述嵌入程序包 括所述载入模块,还包括驱动模块和控件模块;在原始应用程序中载入嵌入程序,可以采用hook技术,这是一种较为成熟的技术,无须对原始应用程序进行任何修改;也可以在原始应用程序 的特定位置加入载入指令,这需要对原始应用程序进行细微改动;第2步,所述载入模块向原始应用程序的图形引擎或图形硬件API申 请绘制图片;所述载入模块向原始应用程序申请获得windows消息的优先 处理权;申请绘制图片是任何图形引擎或图形硬件API都具有的最基本的功能, 申请获得windows消息的优先权是原始应用程序可以提供的;第3步,所述驱动模块以第2步所申请的图片为基础,向所述控件模 块提供图形软件API;所述驱动模块向所述控件模块转发windows消息,并 将所述控件模块对windows消息的反馈返回至原始应用程序;所述嵌入程序的驱动模块相当于为控件模块提供了 一个图形软件API , 使得控件模块可以基础该图形软件API开发具有图形界面的应用程序,而 无须考虑原始应用程序的图形引擎或图形硬件API;同时驱动模块才担当起 原始应用程序和控件模块之间的windows消息和针对windows消息的反馈 的互相传递工作;第4步,所述控件模块调用原始应用程序和嵌入程序之外的应用程序 的图形界面;或者所述控件模块提供一个编程环境,可以在控件模块自行编写具有图形界面的应用程序,并采集所编写应用程序的图形界面。所述 控件模块再将调入或采集的图形界面显示于第2步所申请的图片。采用上述方法制作图形界面的开发结构示意图请参阅图3,由于嵌入程序的驱动模块为控件模块提供了一种图形软件API,无论控件模块调用外部程序的图形界面还是自行编写程序采集图形界面,都只依赖于驱动模块所提供的图形软件API,而不依赖于原始应用程序的图形引擎或图形硬件API。下面兹以两个具体实施例对本专利技术所述方法给予更加具体的阐述其一,采用本专利技术所述方法在3D游戏中插入IE。 由于3D游戏是基于DirectX或0penGL开发的,而IE是基于GDI开发 的,因此现有的技术方案无法在3D游戏中嵌入IE。采用本专利技术所述方法,可以实现在3D游戏中插入IE,具体包括如下步骤第1步,载入模块采用hook技术在3D游戏中载入嵌入程序,无须对 该3D游戏进行任何修改;所述嵌入程序包括所述载入模块,还包括驱动模 块和控件模块;第2步,所述载入模块向3D游戏的图形引擎或图形硬件API申请绘制 图片;所述载入模块还向该3D游戏申请获得windows消息的优先处理权;第3步,所述驱动模块以第2步所申请的图片为基础,向所述控件模 块提供图形软件API;所述驱动模块向所述控件模块转发windows消息,并 将所述控件模块对windows消息的反馈返回至该3D游戏;第4步,所述控件模块调用IE的图形界面,通过所述驱动模块提供的图形软件API显示于所述载入模块所申请的图片。其二,采用本专利技术所述方法在视频中插入一个交互程序。通常情况下,视频中无法嵌入应用程序,只有部分DVD视频支持一些 简单的交互程序。采用本专利技术所述方法,可以实现在视频中插入任意交互程序,具体包括如下步骤第1步,载入模块采用hook技术在视频中载入嵌入程序,无须对该视 频进行任何修改;所述嵌入程序包括所述载入模块,还包括驱动模块和控 件模块;第2步,所述载入模块向视频的图形引擎或图形硬件API申请绘制图 片;所述载入模块还向该视频申请获得windows消息的优先处理权;第3步,所述驱动模块以第2步所申请的图片为基础,向所述控件模 块提供图形软件API;所述驱动模块向所述控件模块转发windows消息,并 将所述控件模块对windows消息的反馈返回至该视频;第4步,所述控件模块提供了一个编程环境,通过所述控件模块编写 一个交互程序,并将该交互程序的图形面通过所述驱动模块提供的图形软 件API显示于所述载入模块所申请的图片。综上所述,无论是以静态资源为主的游戏纹理方式,还是以动态资源 为主的视频方式,本专利技术均可在应用程序中制作图形界面,并且所制作的 图形界面还可以在各种不同应用程序中使用。这大大简化了为不同应用程 序定制图形界面的复杂程序。权利要求1.一种,其特征是所述方法包括如下步骤第1步,原始应用程序通过嵌入程序的载入模块载入所述嵌入程序,所述嵌入程序包括所述载入模块,还包括驱动模块和控件模块;第2步,所述载入模块向原始应用程序的图形引擎或图形硬件API申请绘制图片;所述载入模块向原始应用程序申请获得windows消息的优先处理权;第3步,所述驱动模块以第2步所申请的图片为基础,向所述控件模块提供图形软件API;所述驱动模块向所述控件模块转发windows消息,并将所述控件模块对windows消息的反馈返回至原始应用程序;第4步,所述控件模块调用外界的图形界面,或者所述控件模块自行编写图形本文档来自技高网...

【技术保护点】
一种在应用程序中制作通用图形界面的方法,其特征是:所述方法包括如下步骤: 第1步,原始应用程序通过嵌入程序的载入模块载入所述嵌入程序,所述嵌入程序包括所述载入模块,还包括驱动模块和控件模块; 第2步,所述载入模块向原始应用程序的 图形引擎或图形硬件API申请绘制图片;所述载入模块向原始应用程序申请获得windows消息的优先处理权; 第3步,所述驱动模块以第2步所申请的图片为基础,向所述控件模块提供图形软件API;所述驱动模块向所述控件模块转发windows消 息,并将所述控件模块对windows消息的反馈返回至原始应用程序; 第4步,所述控件模块调用外界的图形界面,或者所述控件模块自行编写图形界面,将该图形界面显示于第2步所申请绘制的图片。

【技术特征摘要】

【专利技术属性】
技术研发人员:谢斌廖峰
申请(专利权)人:盛大计算机上海有限公司
类型:发明
国别省市:31[中国|上海]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1