CN101436145A - 通过挂接api来重定向设备输出的方法 - Google Patents

通过挂接api来重定向设备输出的方法 Download PDF

Info

Publication number
CN101436145A
CN101436145A CNA2007100942385A CN200710094238A CN101436145A CN 101436145 A CN101436145 A CN 101436145A CN A2007100942385 A CNA2007100942385 A CN A2007100942385A CN 200710094238 A CN200710094238 A CN 200710094238A CN 101436145 A CN101436145 A CN 101436145A
Authority
CN
China
Prior art keywords
api
equipment
destination application
api function
hanging
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.)
Granted
Application number
CNA2007100942385A
Other languages
English (en)
Other versions
CN101436145B (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.)
Shengle Information Technolpogy Shanghai Co Ltd
Original Assignee
Shengle Information Technolpogy Shanghai Co Ltd
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 Shengle Information Technolpogy Shanghai Co Ltd filed Critical Shengle Information Technolpogy Shanghai Co Ltd
Priority to CN2007100942385A priority Critical patent/CN101436145B/zh
Publication of CN101436145A publication Critical patent/CN101436145A/zh
Application granted granted Critical
Publication of CN101436145B publication Critical patent/CN101436145B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明公开了一种通过挂接API来重定向设备输出的方法,通过在创建目标应用程序时,将该目标应用程序挂起,然后将该目标应用程序导入表中定位到缺省设备的API函数替换成定位到其他设备的API函数,从而实现了输出设备的重定向,使得目标应用程序可以指定不同的设备。这种方法实现起来较为简单,无需复杂的前期配置,也不会消耗额外的内存,从而使得目标应用程序可以在指定设备的条件下无损运行,并提高了系统的可靠性和可控性。

Description

通过挂接API来重定向设备输出的方法
技术领域
本发明涉及一种设备输出方法,尤其涉及一种通过挂接API来重定向声音、显示、打印等设备输出的方法。
背景技术
随着计算机产业的发展,计算机的设备和能力也越来越强,越来越多的显示设备、声音设备、以及打印设备等被集成或被USB化。因此,在电脑上存在多显示设备(如多个显卡)、多声音设备(如多个声卡)、多打印设备的应用已经成为了一种趋势。但是,一般来说,用户使用多设备(一机多声卡或一机多视频卡)的时候,比如一边游戏一边看电影时,由于游戏程序和电影播放程序无法实现分别指定不同的声音设备,而是一般都默认使用同一个声卡设备来播放声音,因此使得游戏的声音和电影的声音混合在一起,从而严重影响了游戏或者电影的体验。
目前已存在的多设备软件基本上分为以下两种主要方式:
1、只能指定显示设备:大多应用利用WINDOWS扩展性能指定显示输出设备,然后将软件显示在相应区域。由于这种设备所采用的技术无法将声音剥离出来,因此会造成多中应用声音的重叠,从而降低了娱乐的质量。
2、基于驱动的WINDOWS扩展:从驱动层面将模拟WINDOWS操作系统,绑定声卡或者显卡等设备。这种技术一般都是通过向WINDOWS操作系统注册一个新的设备驱动,或将新设备注册为缺省设备来完成的,虽然可以实现声音、显示或者打印等设备的定向输出,但是由于其前期配置较为繁杂,而且内存消耗较大,因此无法得到更多的应用支持,无法保证系统的可靠性与可控性。
发明内容
本发明所要解决的技术问题是提供一种通过挂接API来重定向设备输出的方法,可让目标应用程序(如游戏程序、电影播放程序、打印程序等)指定不同的显示设备、声音设备或者打印设备等,并且无需复杂的前期配置,不会消耗额外的内存,从而使得目标应用程序可在指定设备的条件下无损运行。
为解决上述技术问题,本发明提供一种通过挂接API来重定向设备输出的方法,包括以下步骤:
(1)创建目标应用程序,并将该目标应用程序置于挂起位置;
(2)对所述目标应用程序的导入表进行搜索,找出该导入表中原有指定缺省设备的API函数,然后将该API函数替换成指向需要重新定向到的设备的API函数;
(3)恢复所述目标应用程序的运行。
本发明由于采用了上述技术方案,具有这样的有益效果,即通过将在创建目标应用程序时,将该目标应用程序挂起,然后将该目标应用程序导入表中定位到缺省设备的API(应用程序接口)函数替换成定位到其他设备的API函数,从而实现了输出设备的重定向,使得目标应用程序可以指定不同的设备,而且这种方法实现起来较为简单,无需复杂的前期配置,也不会消耗额外的内存,从而使得目标应用程序可以在指定设备的条件下无损运行,并提高了系统的可靠性和可控性。而且通过本发明所述方法,使得家庭计算机可以深度利用,将计算机升级为家庭的内容供应中心,又可以将家庭电视二次利用,将电视升级为家庭的娱乐中心。
附图说明
下面结合附图与具体实施方式对本发明作进一步详细的说明:
图1为根据本发明所述方法进行输出设备重定向的实现框图;
图2为根据本发明实现输出设备重定向的流程示意图。
具体实施方式
如图1和图2所示,本发明所述方法包括以下步骤:
第一步,创建目标应用程序,并将该目标应用程序置于挂起位置。其中,所述目标应用程序可以是任何需要指定输出设备的应用程序,如游戏程序、电影播放程序、打印程序等。在一个实施例中,可以采用加载(LOADER)的方式来创建运行所述目标应用程序。
第二步,由于一般情况下,各种目标应用程序都会按照缺省设定,输出到指定的设备,而这些缺省设定一般都是由所述目标应用程序中的导入表中的API函数来指定的。因此在本发明中,需对所述目标应用程序的导入表进行搜索,找出该导入表中原有指定缺省设备的API函数,然后将该API函数替换成指向需要重新定向到的设备的API函数。另外一些情况下,目标应用程序可能会在运行过程中装入动态连接库,因此导入表中事先不会有动态连接库的信息,也不会存在相应的API函数。所以,如果在搜索导入表时,发现所述导入表中不存在API函数,则须先通过装载程序为目标应用程序提前加载包含API函数的动态连接库,并修改内存动态链接库映像的指定API入口位置的代码。
第三步,恢复所述目标应用程序的运行,以让该目标应用程序开始正常执行。
通过上述方法,当目标应用程序运行到需要调用声卡、显卡或者打印机等输出设备的相关代码时,就会定位到后来重新定位的输出设备,这样,所述重新定位的输出设备就会据此输出相应的图像或者声音。
本发明由于通过是在API层次上实现设备的重订位的,因此相对传统的设备重定位方法来说,可以提到系统的可靠性和可控性。而且这种方法实现起来较为简单,无需复杂的前期配置,也不会消耗额外的内存,从而使得目标应用程序可以在指定设备的条件下无损运行。

Claims (3)

1、一种通过挂接API来重定向设备输出的方法,其特征在于,包括以下步骤:
(1)创建目标应用程序,并将该目标应用程序置于挂起位置;
(2)对所述目标应用程序的导入表进行搜索,找出该导入表中原有的API函数,然后将该API函数替换成指向需要重新定向的设备的API函数;
(3)恢复所述目标应用程序的运行。
2、根据权利要求1所述通过挂接API来重定向设备输出的方法,其特征在于,在所述步骤(1)中,采用加载的方式来创建所述目标应用程序。
3、根据权利要求1所述通过挂接API来重定向设备输出的方法,其特征在于,在所述步骤(2)中,如果在对所述导入表进行搜索时,发现所述导入表中不存在API函数,则须先提前加载包含API函数的动态连接库,并修改内存映像中该API函数入口处的代码。
CN2007100942385A 2007-11-15 2007-11-15 通过挂接api来重定向设备输出的方法 Expired - Fee Related CN101436145B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2007100942385A CN101436145B (zh) 2007-11-15 2007-11-15 通过挂接api来重定向设备输出的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007100942385A CN101436145B (zh) 2007-11-15 2007-11-15 通过挂接api来重定向设备输出的方法

Publications (2)

Publication Number Publication Date
CN101436145A true CN101436145A (zh) 2009-05-20
CN101436145B CN101436145B (zh) 2012-02-01

Family

ID=40710594

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007100942385A Expired - Fee Related CN101436145B (zh) 2007-11-15 2007-11-15 通过挂接api来重定向设备输出的方法

Country Status (1)

Country Link
CN (1) CN101436145B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103019845A (zh) * 2012-12-10 2013-04-03 中国人民解放军理工大学 一种异构数据库平台下应用程序零修改迁移的方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6874149B1 (en) * 2000-06-28 2005-03-29 Microsoft Corporation Hooking of replacement and augmented API functions
CN1179269C (zh) * 2002-08-09 2004-12-08 联想(北京)有限公司 一种准确获取计算机屏幕变化的方法
CN100447739C (zh) * 2006-03-28 2008-12-31 联想(北京)有限公司 一种实时获取多媒体图像的方法以及设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103019845A (zh) * 2012-12-10 2013-04-03 中国人民解放军理工大学 一种异构数据库平台下应用程序零修改迁移的方法
CN103019845B (zh) * 2012-12-10 2015-06-03 中国人民解放军理工大学 一种异构数据库平台下应用程序零修改迁移的方法

Also Published As

Publication number Publication date
CN101436145B (zh) 2012-02-01

Similar Documents

Publication Publication Date Title
US9946358B2 (en) Flexible display device and data displaying method thereof
JP6073792B2 (ja) ジェスチャを用いて積み重ねられた画面表示を閲覧するための方法及びシステム
CN107168905B (zh) 一种文件显示方法、装置、存储介质及移动终端
US20100287513A1 (en) Multi-device gesture interactivity
US9990103B2 (en) Digital device and method of controlling therefor
CN101930719A (zh) 自动切换显示器场景模式的方法及系统
US20090222830A1 (en) Methods for Multi-Tasking on Media Players
KR20150007760A (ko) 수신 데이터를 이용하여 어플리케이션을 운영하는 전자 장치
CN110049365A (zh) 可视信源切换处理方法、显示终端、电视机及存储介质
JP2002132446A (ja) 情報入出力システム及び情報入出力方法、並びにプログラム記憶媒体
WO2021013019A1 (zh) 一种图片处理方法及装置
CN102981818A (zh) 基于情境的动画库
EP3115865A1 (en) Mobile terminal and method for controlling the same
WO2023226455A1 (zh) 应用图标的显示方法、电子设备及可读存储介质
CN102402373B (zh) 一种控制移动终端中触摸键盘的方法及装置
KR20120138618A (ko) 모바일 디바이스에서 멀티태스킹 운용 방법 및 장치
CN112771489A (zh) 控制异构操作系统和电子设备的执行的方法及其存储介质
Savidis et al. Distributed interface bits: dynamic dialogue composition from ambient computing resources
WO2021244459A1 (zh) 一种输入方法及电子设备
CN101436145B (zh) 通过挂接api来重定向设备输出的方法
Lee et al. A-mash: providing single-app illusion for multi-app use through user-centric UI mashup
US20090040399A1 (en) Display apparatus for displaying digital images
US8823723B2 (en) Semiconductor integrated circuit device, facility appliance control device, and appliance state display apparatus
US9280368B2 (en) Function expanding method and mobile device adapted thereto
WO2022227997A1 (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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120201

Termination date: 20121115