一种窗口移动方法和装置与流程

文档序号:11133631阅读:266来源:国知局
一种窗口移动方法和装置与制造工艺

本发明涉及计算机网络技术领域,特别是涉及一种窗口移动方法和一种窗口移动装置。



背景技术:

随着网络技术的快速发展,互联网已经成为大众休闲娱乐的重要平台,网络游戏成为非常重要的一种网上休闲娱乐形式。

目前,智能终端通常采用浏览器显示网页时,网页中也可以采用子窗口显示视频等其他内容。例如在显示网络游戏的操作界面,使得用户可以在浏览器所显示的网页窗口进行游戏操作;并且可以在该网页窗口中显示一个子窗口来播放视频,使得用户可以边玩游戏边观看网络游戏的直播视频。

具体的,在用户玩网络游戏的过程中,智能终端通常以全屏的形式显示网络游戏的操作界面,即以全屏的形式显示网络游戏的操作界面对应的网页窗口,使得用户可以在全屏状态下进行游戏操作。但是,若用户拖动该网页窗口中播放视频的子窗口,则该子窗口就会获取到操作系统的焦点。即对于子窗口的操作会导致网页窗口的焦点被抢占,被迫退出该网页窗口的全屏显示模式,影响对网页的正常操作。



技术实现要素:

鉴于上述问题,本发明提出了一种窗口移动方法和装置,以解决了现有技术在子窗口移动过程中网页窗口的焦点被子窗口抢占的问题。

依据本发明的一个方面,提供了一种窗口移动方法,包括:

采用第一进程显示第一窗口,以及采用第二进程显示第二窗口,其中,所述第二窗口为所述第一窗口的子窗口;

通过钩子程序截获所述第二窗口的操作信息,确定所述操作信息对应的偏移量;

依据所述偏移量移动所述第二窗口。

可选地,所述采用第一进程显示第一窗口,以及采用第二进程显示第二窗口,包括:

所述第一进程以全屏的形式在显示屏幕上对所述第一窗口进行展示;

在所述第一窗口内,所述第二进程以寄宿的形式对所述第二窗口进行展示。

可选地,所述偏移量包括目标偏移量,所述通过钩子程序截获所述第二窗口的操作信息,确定所述操作信息对应的偏移量,包括:

采用钩子程序对所述操作信息进行监视,截获携带目标事件的操作信息,其中,所述目标事件包含目标按下事件和目标抬起事件;

从所述目标按下事件中提取起始位置参数;

从所述目标抬起事件中提取终止位置参数;

对所述起始位置参数和终止位置参数进行计算,得到所述第二窗口的目标偏移量;

其中,所述依据所述偏移量移动所述第二窗口,包括:基于所述目标偏移量对所述第二窗口进行移动。

可选地,所述钩子程序包括线程钩子,所述采用钩子程序对所述操作信息进行监视,截获携带目标事件的操作信息,包括:

调用线程钩子检测所述操作信息是否携带目标按下事件;

若是,则采用所述线程钩子抓取所述操作信息,并确定为第一操作信息;

其中,所述从所述目标按下事件中提取起始位置参数,包括:对所述第一操作信息携带的目标按下事件进行分析,得到起始位置参数。

可选地,所述钩子程序还包括全局钩子,所述采用钩子程序对所述操作信息进行监听,截获携带目标事件的特征信息,还包括:

调用全局钩子检测所述操作信息是否携带目标抬起事件;

若是,则采用全局钩子抓取所述操作信息,并确定为第二操作信息;

其中,所述从所述目标抬起事件中提取终止位置参数,包括:对所述第一操作信息携带的目标抬起事件进行分析,得到终止位置参数。

可选地,所述目标事件还包含移动事件。

可选地,所述偏移量还包括实时偏移量,所述方法在得到起始位置参数之后,还包括:

采用所述线程钩子抓取携带所述移动事件的操作信息,并从所述移动事件中提取移动位置参数;

对所述移动位置参数与所述起始位置参数进行计算,确定实时偏移量;

其中,在基于所述目标偏移量对所述第二窗口进行移动之前,所述依据所述偏移量移动所述第二窗口,还包括:按照所述实时偏移量对所述第二窗口对进行移动。

可选地,所述依据所述偏移量移动所述第二窗口,包括:

按照所述偏移量对所述第二窗口进行移动,确定第二窗口对应的显示位置;

在所述显示位置上对所述第二窗口进行展示。

依据本发明的另一方面,提供了一种窗口移动装置,包括:

窗口显示模块,用于采用第一进程显示第一窗口,以及采用第二进程显示第二窗口,其中,所述第二窗口为所述第一窗口的子窗口;

偏移量确定模块,用于通过钩子程序截获所述第二窗口的操作信息,确定所述操作信息对应的偏移量;

窗口移动模块,用于依据所述偏移量移动所述第二窗口。

可选地,所述窗口显示模块,包括:

第一显示子模块,用于所述第一进程以全屏的形式在显示屏幕上对所述第一窗口进行展示;

第二显示子模块,用于在所述第一窗口内,所述第二进程以寄宿的形式对所述第二窗口进行展示。

可选地,所述偏移量包括目标偏移量,所述偏移量确定模块,包括:

信息截获子模块,用于采用钩子程序对所述操作信息进行监视,截获携带目标事件的操作信息,其中,所述目标事件包含目标按下事件和目标抬起事件;

第一提取子模块,用于从所述目标按下事件中提取起始位置参数;

第二提取子模块,用于从所述目标抬起事件中提取终止位置参数;

目标偏移量子模块,用于对所述起始位置参数和终止位置参数进行计算,得到所述第二窗口的目标偏移量;

其中,所述窗口移动模块,包括:目标移动子模块,用于基于所述目标偏移量对所述第二窗口进行移动。

可选地,所述钩子程序包括线程钩子,所述信息截获子模块,包括:

第一检测单元,用于调用线程钩子检测所述操作信息是否携带目标按下事件;

第一抓取单元,用于若所述操作信息携带目标按下事件,则采用所述线程钩子抓取所述操作信息,并确定为第一操作信息;

其中,所述第一提取子模块,具体用于对所述第一操作信息携带的目标按下事件进行分析,得到起始位置参数。

可选地,所述钩子程序还包括全局钩子,所述信息截获子模块,还包括:

第二检测单元,用于调用全局钩子检测所述操作信息是否携带目标抬起事件;

第二抓取单元,用于若操作信息携带目标抬起事件,则采用全局钩子抓取所述操作信息,并确定为第二操作信息;

其中,所述第二提取子模块,具体用于对所述第一操作信息携带的目标抬起事件进行分析,得到终止位置参数。

可选地,所述目标事件还包含移动事件。

可选地,所述偏移量还包括实时偏移量,所述偏移量确定模块还包括:

第三提取子模块,采用所述线程钩子抓取携带所述移动事件的操作信息,并从所述移动事件中提取移动位置参数;

实时偏移量子模块,用于对所述移动位置参数与所述起始位置参数进行计算,确定实时偏移量;

其中,所述窗口移动模块,还包括:实时移动子模块,用于按照所述实时偏移量对所述第二窗口对进行移动。

可选地,所述窗口移动模块,包括:

位置确定子模块,用于按照所述偏移量对所述第二窗口进行移动,确定第二窗口对应的显示位置;

窗口展示子模块,用于在所述显示位置上对所述第二窗口进行展示。

根据本发明的智能终端可以采用第一进程显示第一窗口,以及采用第二进程显示第二窗口;并且,通过钩子程序截获第二窗口的操作信息,由该钩子程序控制针对第二窗口的操作,即规避系统的消息机制,使得第二窗口的操作信息不通过操作系统的消息传递机制传递,从而使得第一窗口的焦点不会被抢占,并实现第二窗口的移动,如智能终端可以将全屏显示的网络游戏的操作界面所在网页窗口作为第一窗口,以及该网页窗口中的视频直播窗口作为第二窗口,在用户移动视频直播窗口时,智能终端可以通过钩子程序拦截移动操作对应的操作信息,以通过钩子程序实现针对第二窗口的移动操作,从而避免网页窗口的焦点被抢占,被迫退出全屏显示模式,保证对网页的正常操作。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1出了本发明的一种窗口移动方法实施例的步骤流程图;

图2示出了本发明的另一种窗口移动方法实施例的步骤流程图;

图3A示出了本发明的一种窗口移动装置实施例的结构框图;以及

图3B示出了本发明的一种窗口移动装置优选实施例的结构框图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

参照图1,示出了本发明的一种窗口移动方法实施例的步骤流程图,具体可以包括如下步骤:

步骤102,采用第一进程显示第一窗口,以及采用第二进程显示第二窗口。

其中,所述第二窗口为所述第一窗口的子窗口。本发明实施例中,第一窗口可以用于展示应用程序对应的操作界面,以使用户可以在该操作界面上进行操作。该操作界面具体可以包括网络游戏的操作界面,如游戏页面。第二窗口可以用于播放应用程序对应的直播视频,如网络游戏的视频直播窗口。

在应用程序启动时,智能终端可以通过该应用程序的软件开发工具包(Software Development Kit,SDK),实现应用程序的加载。具体的,智能终端可以创建第一进程,以及可以采用第一进程加载应用程序对应的操作界面的内容,生成显示该操作界面的第一窗口。在加载过程中,智能终端可以通过检测该应用程序的参数信息,确定该目标应用是否具有对应的直播视频。当应用程序具有对应的直播视频,智能终端可以针对该直播视频创建第二进程,以采用第二进程加载直播视频的内容,生成第二窗口,以及在第二窗口中播放直播视频。例如,智能终端可以在第一窗口中展示网络游戏的游戏页面,以及可以在第二窗口中播放网络游戏的直播视频,使得用户可以边玩游戏边看网络游戏的直播视频。

在本发明实施例中,智能终端可以将第二窗口配置为第一窗口的子窗口,以在第一窗口中对第二窗口进行展示。可选的,智能终端可以通过第一进程,以全屏的形式在显示屏幕上对所述第一窗口进行展示,使得用户可以在全屏显示的操作界面上进行操作;以及可以通过第二进程,在第一窗口内以寄宿的形式对第二窗口进行展示,使得用户在操作的同时,可以观看通过寄宿显示在操作界面上的第二窗口所播放的直播视频。

步骤104,通过钩子程序截获所述第二窗口的操作信息,确定所述操作信息对应的偏移量。

在用户对第二窗口进行操作时,智能终端可以针对用户输入操作,生成第二窗口的操作信息。该操作信息可以携带目标事件。目标事件可以依据用户操作生成,如携带鼠标(Mouse)事件,具体可以包括鼠标按下(Mouse Down)事件、鼠标抬起(Mouse UP)事件、鼠标点击(Mouse Click)和鼠标移动(Mouse Move)事件等。

在本发明实施例中,智能终端可以采用钩子程序对第二窗口的操作信息进行监听,以截获携带目标事件的操作信息,由该钩子程序控制针对第二窗口的操作,即规避系统的消息机制,使得该操作信息不通过操作系统的消息传递机制传递,从而不会使得第一窗口的焦点被抢占,并实现移动。具体而言,在监听操作信息时,钩子程序可以对当前所监听到的操作信息进行分析,确定该操作信息是否为第二窗口的操作信息。若是,则钩子程序可以截获该操作信息,以及可以从该操作信息所携带的目标事件中提取位置参数,确定该目标事件所对应的操作位置。例如,在用户通过拖动鼠标来移动第二窗口时,钩子程序可以从目标按下事件中提取起始位置参数,确定目标抬起事件所对应的操作起始位置;也可以从目标抬起事件中提取终止位置参数,确定目标抬起事件所对应的操作终止位置。智能终端通过对起始位置参数和终止位置参数进行计算,可以得到操作起始位置与操作终止位置之间的偏移量,以及可以将该偏移量作为操作信息对应的偏移量。

步骤106,依据所述偏移量移动所述第二窗口。

智能终端在确定第二窗口的偏移量后,可以按照该偏移量对第二窗口进行移动,以将第二窗口移动至操作终止位置,从而可以改变第二窗口的显示位置。可选的,依据所述偏移量移动所述第二窗口,具体可以包括:按照所述偏移量对所述第二窗口进行移动,确定第二窗口对应的显示位置;在所述显示位置上对所述第二窗口进行展示。

在确定出偏移量后,智能终端可以按照该偏移量对第二窗口进行移动,以在所确定的显示位置上展示第二窗口。例如,若网络游戏的操作界面所在网页窗口作为第一窗口,以及该网页窗口中的视频直播窗口作为第二窗口,则在用户移动视频直播窗口时,智能终端可以通过钩子程序拦截移动操作对应的操作信息,并确定对应的偏移量,从而可以按照该偏移量对视频直播窗口进行移动,确定该视频直播窗口的显示位置,以在所确定的显示位置展示视频直播窗口,即可以在实现移动网页窗口中的视频直播窗口的同时,使得该操作信息不通过操作系统的消息传递机制传递,从而可以避免网页窗口的焦点被抢占,被迫退出该网页窗口的全屏显示模式的情形,保证对网页的正常操作,亦即解决了现有技术中网页窗口的焦点被子窗口抢占的问题。

参照图2,示出了本发明的另一种窗口方法实施例的步骤流程图,具体可以包括如下步骤:

步骤202,第一进程以全屏的形式在显示屏幕上对所述第一窗口进行展示。

在本发明实施例中,智能终端可以通过第一进程,以全屏的形式将第一窗口展示显示屏幕上,使得用户可以在全屏的状态下进行操作。例如,智能终端可以以全屏形式在显示屏幕上展示网络游戏的游戏页面,使得用户可以在全屏状态下进行游戏操作。

步骤204,在所述第一窗口内,第二进程以寄宿的形式对所述第二窗口进行展示。

其中,所述第二窗口为所述第一窗口的子窗口,具体可以包括视频直播窗口。该视频直播窗口可以用于播放应用程序对应的直播视频。例如,智能终端可以通过第二进程,采用寄宿形式在游戏页面上展示网络游戏的视频直播窗口,使得用户在玩游戏的同时可以观看网络游戏的直播视频。

步骤206,采用钩子程序对所述操作信息进行监视,截获携带目标事件的操作信息。

在本发明实施例中,目标事件可以包含目标按下事件和目标抬起事件,具体可以携带诸如横坐标(X)、纵坐标(Y)等位置参数、操作对象和状态参数等参数信息。其中,操作对象参数可以用于用户所操作的窗口,具体可以包括窗口的标识符,如窗口名称等;状态参数可以用于确定用户输入的操作动作,如采用按下状态参数“Down”表示用户按下鼠标键的动作,采用移动状态参数“Move”表示用户移动鼠标的动作,采用按下状态参数“UP”表示用户释放鼠标键的动作或表示鼠标键抬起的动作,位置参数可以用于确定操作位置,如起始位置参数可以用于确定操作起始位置,如起始位置参数可以用于确定操作起始位置,终止位置参数可以用于确定操作终止位置。

具体的,智能终端可以采用钩子程序对操作信息进行监听,以及可以通过检测操作信息所携带的目标事件中的操作对象参数确定该操作信息是否为第二窗口的操作信息。若操作对象参数所确定的窗口为第二窗口,则可以采用钩子程序拦截该操作信息,并采用钩子程序对当前所截获的操作信息进行分析,确定该操作信息所对应的操作位置。当操作信息所携带的目标事件为目标按下事件时,可以从目标按下事件中提取起始位置参数;当操作信息所携带的目标事件为目标抬起事件时,可以从目标抬起事件中提取终止位置参数,而可以通过对坐标参数进行计算,确定出第二窗口所需要移动的偏移量,亦即,对所述起始位置参数和终止位置参数进行计算,得到所述第二窗口的目标偏移量。该目标偏移量可以用于表示第二窗口所需要移动的偏移量。

步骤208,基于目标偏移量对所述第二窗口进行移动。

在确定第二窗口的目标偏移量后,智能终端可以按照该目标偏移量对第二窗口进行移动,以实现第二窗口的移动,从而可以在满足用户对第二窗口的移动操作需求的同时,不影响用户对第一窗口的正常操作,提高用户体验。

在实际处理中,本发明的发明人发现线程钩子有时候会无法获取到第二窗口的操作信息,因此可以通过全局钩子获取第二窗口的操作信息。在本发明实施例中,钩子程序具体可以包括线程钩子和全局钩子,其中线程钩子的优先级可以高于全局钩子的优先级。显然,本发明实施例的智能终端可以采用线程钩子和全局钩子监听第二窗口的操作信息,以实现拦截第二窗口的操作信息。

具体而言,智能终端可以采用线程钩子截获在第一窗口内的第二窗口的操作信息。在第二窗口移动过程中,若第二窗口被移动值第一窗口外的显示区域,则线程钩子获取不到第二窗口的操作信息,智能终端可以采用全局钩子获取该操作信息,从而可以避免线程钩子获取不到第二窗口的操作信息,导致截获第二窗口的操作信息失败的问题。

在本发明的一个优选实施例中,所述采用钩子程序对所述操作信息进行监视,截获携带目标事件的操作信息,具体可以包括:调用线程钩子检测所述操作信息是否携带目标按下事件;若是,则采用所述线程钩子抓取所述操作信息,并确定为第一操作信息。其中,所述从所述目标按下事件中提取起始位置参数,包括:对所述第一操作信息携带的目标按下事件进行分析,得到起始位置参数。

在本发明实施例中,第一操作信息具体可以是依据用户输入的起始操作生成的,如在用户拖动鼠标时,智能终端可以生成携带目标按下事件的第一操作信息。该目标按下事件可以包括鼠标按下(Mouse Down)事件,具体可以携带操作对象“第二窗口”、按下状态参数“Down”、按下位置的横坐标“X0”和按下位置的纵坐标“Y0”等参数。具体的,智能终端可以调用线程钩子对操作信息进行监听,并在监听到操作信息时,可以通过检测操作信息所携带的目标事件的状态参数是否为“Down”,确定该操作信息所携带的目标事件是否目标按下事件。当检测到状态参数为“Down”时,智能终端可以确定检测到目标按下事件,并且可以通过线程钩子对该目标按下事件进行分析,从该目标按下事件中提取横坐标“X0”和纵坐标“Y0”,确定为起始位置参数,即得到起始位置参数。

当然,智能终端也可以采用线程钩子检测第二窗口对应的其他目标事件,如检测第二窗口对应的目标抬起事件,本发明实施例对此不作具体限制。

可选的,所述采用钩子程序对所述操作信息进行监听,截获携带目标事件的特征信息,还可以包括:调用全局钩子检测所述操作信息是否携带目标抬起事件;若是,则采用全局钩子抓取所述操作信息,并确定为第二操作信息;其中,所述从所述目标抬起事件中提取终止位置参数,包括:对所述第一操作信息携带的目标抬起事件进行分析,得到终止位置参数。

在本发明实施例中,第二操作信息具体可以是依据用户输入的终止操作生成的。作为本发明的一个具体示例,在用户拖动鼠标时,智能终端可以生成携带目标抬起事件的第一操作信息,如在用户释放鼠标按键时,智能终端可以生成携带鼠标抬起(Mouse UP)事件的操作信息。该目标抬起事件可以包括鼠标抬起(Mouse UP)事件,具体可以携带操作对象“第二窗口”、抬起状态参数“UP”、抬起位置的横坐标“X1”和抬起位置的纵坐标“Y1”等参数。具体的,智能终端可以调用全局钩子对操作信息进行监听,并在监听到操作信息时,可以通过检测操作信息所携带的目标事件的状态参数是否为“UP”,确定该操作信息所携带的目标事件是否目标抬起事件。当检测到状态参数为“UP”时,智能终端可以确定检测到目标抬起事件,并且可以通过线程钩子对该目标抬起事件进行分析,从该目标抬起事件中提取横坐标“X1”和纵坐标“Y1”,确定为终止位置参数,即得到终止位置参数。

当然,智能终端也可以采用全局钩子检测第二窗口对应的其他目标事件,如检测第二窗口对应的目标按下事件,其中,线程钩子的优先级可以高于全局钩子的优先级。

可选的,操作信息所携带的目标事件还可以包含移动事件。在本发明的一个优选实施例中,所述偏移量还可以包括实时偏移量,该方法在得到起始位置参数之后,还可以包括:采用所述线程钩子截获携带所述移动事件的操作信息,并从所述移动事件中提取移动位置参数;对所述移动位置参数与所述起始位置参数进行计算,确定实时偏移量。其中,在基于所述目标偏移量对所述第二窗口进行移动之前,所述依据所述偏移量移动所述第二窗口,还可以包括:按照所述实时偏移量对所述第二窗口对进行移动。

在本发明实施例中,移动事件可以用于确定输入操作当前所对应的操作位置,具体可以包括鼠标移动(Mouse Move)事件。例如,在用户拖动鼠标时,智能终端可以通过线程钩子检测第二窗口操作信息所携带的目标事件的状态参数是否为移动状态参数“Move”,确定该操作信息所携带的目标事件是否是移动事件。当检测到状态参数为“Move”时,智能终端可以采用线程钩子截获携带移动事件的操作信息,以从移动事件提取横坐标“X2”和纵坐标“Y2”,确定为第二窗口当前所对应的移动位置参数,该移动位置从参数可以用于实时地确定出第二窗口当前所需要移动至的显示位置。智能终端可以通过线程钩子对移动位置参数和起始位置参数进行计算,以将移动位置参数和起始位置参数之间的差值确定为第二窗口的实时偏移量,进而可以按照该实时偏移量对第二窗口进行移动,从而实现了实时移动第二窗口,缩短了移动操作的延迟时间,进一步提高了用户体验。

当然,智能终端在通过线程钩子未能截获到携带移动事件的操作信息时,也可以通过全局钩子截获携带移动事件的操作信息,从而实现了实时地对第二窗口进行移动。

在本发明实施例中,智能终端可以通过第一进程,在显示屏幕上以全屏形式显示第一窗口,并且可以第二进程,在第一窗口内以寄宿形式显示第二窗口;以及,通过钩子程序截获所述第二窗口的操作信息,由该钩子程序控制针对第二窗口的操作,即规避系统的消息机制,使得第二窗口的操作信息不通过操作系统的消息传递机制传递,从而可以避免全屏显示的第一窗口的焦点被抢占的情形,解决了第一窗口的焦点被抢占而被迫退出全屏显示模式的问题。

对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

参照图3A,示出了本发明的一种窗口移动装置实施例的结构框图,具体可以包括如下模块:

窗口显示模块302,用于采用第一进程显示第一窗口,以及采用第二进程显示第二窗口,其中,所述第二窗口为所述第一窗口的子窗口;

偏移量确定模块304,用于通过钩子程序截获所述第二窗口的操作信息,确定所述操作信息对应的偏移量;

窗口移动模块306,用于依据所述偏移量移动所述第二窗口。

参照图3B,示出了本发明的一种窗口移动装置优选实施例的结构框图。

在本发明的一个优选实施例中,所述窗口显示模块302,可以包括如下子模块:

第一显示子模块3021,用于所述第一进程以全屏的形式在显示屏幕上对所述第一窗口进行展示;

第二显示子模块3023,用于在所述第一窗口内,所述第二进程以寄宿的形式对所述第二窗口进行展示。

在本发明的一个优选实施例中,所述偏移量包括目标偏移量,所述偏移量确定模块304,可以包括如下子模块:

信息截获子模块3041,用于采用钩子程序对所述操作信息进行监视,截获携带目标事件的操作信息,其中,所述目标事件包含目标按下事件和目标抬起事件;

第一提取子模块3043,用于从所述目标按下事件中提取起始位置参数;

第二提取子模块3045,用于从所述目标抬起事件中提取终止位置参数;

目标偏移量子模块3047,用于对所述起始位置参数和终止位置参数进行计算,得到所述第二窗口的目标偏移量。

在本发明实施例中,所述窗口移动模块306可以包括:目标移动子模块3061。目标移动子模块3061可以用于基于所述目标偏移量对所述第二窗口进行移动。

在本发明的一个优选实施例中,所述钩子程序包括线程钩子,所述信息截获子模块3041,可以包括以下单元:

第一检测单元30411,用于调用线程钩子检测所述操作信息是否携带目标按下事件;

第一抓取单元30413,用于若所述操作信息携带目标按下事件,则采用所述线程钩子抓取所述操作信息,并确定为第一操作信息。

其中,所述第一提取子模块3043,具体可以用于对所述第一操作信息携带的目标按下事件进行分析,得到起始位置参数。

在本发明的一个优选实施例中,所述钩子程序还可以包括全局钩子。所述信息截获子模块3041,还可以包括如下单元:

第二检测单元30415,用于调用全局钩子检测所述操作信息是否携带目标抬起事件;

第二抓取单元30417,用于若操作信息携带目标抬起事件,则采用全局钩子抓取所述操作信息,并确定为第二操作信息。

其中,所述第二提取子模块3045,具体用于对所述第一操作信息携带的目标抬起事件进行分析,得到终止位置参数。

,在本发明的一个优选实施例中,所述目标事件还可以包含移动事件。可选的,所述偏移量还包括实时偏移量,所述偏移量确定模块304还可以包括如下子模块:

第三提取子模块3049,采用所述线程钩子抓取携带所述移动事件的操作信息,并从所述移动事件中提取移动位置参数;

实时偏移量子模块3040,用于对所述移动位置参数与所述起始位置参数进行计算,确定实时偏移量。

其中,所述窗口移动模块306,还可以包括:实时移动子模块3063。该实时移动子模块3063可以用于按照所述实时偏移量对所述第二窗口对进行移动。具体的,实时移动子模块3063可以在目标移动子模块3061基于所述目标偏移量对所述第二窗口进行移动之前,按照所述实时偏移量对所述第二窗口对进行移动。

在本发明的一个优选实施例中,所述窗口移动模块306,可以包括如下子模块:

位置确定子模块3067,用于按照所述偏移量对所述第二窗口进行移动,确定第二窗口对应的显示位置;

窗口展示子模块3069,用于在所述显示位置上对所述第二窗口进行展示。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的窗口移动设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

本发明公开了A1、一种窗口移动方法,包括:

采用第一进程显示第一窗口,以及采用第二进程显示第二窗口,其中,所述第二窗口为所述第一窗口的子窗口;

通过钩子程序截获所述第二窗口的操作信息,确定所述操作信息对应的偏移量;

依据所述偏移量移动所述第二窗口。

A2、如A1所述的方法,所述采用第一进程显示第一窗口,以及采用第二进程显示第二窗口,包括:

所述第一进程以全屏的形式在显示屏幕上对所述第一窗口进行展示;

在所述第一窗口内,所述第二进程以寄宿的形式对所述第二窗口进行展示。

A3、如A1所述的方法,所述偏移量包括目标偏移量,所述通过钩子程序截获所述第二窗口的操作信息,确定所述操作信息对应的偏移量,包括:

采用钩子程序对所述操作信息进行监视,截获携带目标事件的操作信息,其中,所述目标事件包含目标按下事件和目标抬起事件;

从所述目标按下事件中提取起始位置参数;

从所述目标抬起事件中提取终止位置参数;

对所述起始位置参数和终止位置参数进行计算,得到所述第二窗口的目标偏移量;

其中,所述依据所述偏移量移动所述第二窗口,包括:基于所述目标偏移量对所述第二窗口进行移动。

A4、如A3所述的方法,所述钩子程序包括线程钩子,所述采用钩子程序对所述操作信息进行监视,截获携带目标事件的操作信息,包括:

调用线程钩子检测所述操作信息是否携带目标按下事件;

若是,则采用所述线程钩子抓取所述操作信息,并确定为第一操作信息;

其中,所述从所述目标按下事件中提取起始位置参数,包括:对所述第一操作信息携带的目标按下事件进行分析,得到起始位置参数。

A5、如A4所述的方法,所述钩子程序还包括全局钩子,所述采用钩子程序对所述操作信息进行监听,截获携带目标事件的特征信息,还包括:

调用全局钩子检测所述操作信息是否携带目标抬起事件;

若是,则采用全局钩子抓取所述操作信息,并确定为第二操作信息;

其中,所述从所述目标抬起事件中提取终止位置参数,包括:对所述第一操作信息携带的目标抬起事件进行分析,得到终止位置参数。

A6、如A4或A5所述的方法,所述目标事件还包含移动事件。

A7、如A6所述的方法,所述偏移量还包括实时偏移量,所述方法在得到起始位置参数之后,还包括:

采用所述线程钩子抓取携带所述移动事件的操作信息,并从所述移动事件中提取移动位置参数;

对所述移动位置参数与所述起始位置参数进行计算,确定实时偏移量;

其中,在基于所述目标偏移量对所述第二窗口进行移动之前,所述依据所述偏移量移动所述第二窗口,还包括:按照所述实时偏移量对所述第二窗口对进行移动。

A8、如A1所述的方法,所述依据所述偏移量移动所述第二窗口,包括:

按照所述偏移量对所述第二窗口进行移动,确定第二窗口对应的显示位置;

在所述显示位置上对所述第二窗口进行展示。

本发明还公开了B9、一种窗口移动装置,包括:

窗口显示模块,用于采用第一进程显示第一窗口,以及采用第二进程显示第二窗口,其中,所述第二窗口为所述第一窗口的子窗口;

偏移量确定模块,用于通过钩子程序截获所述第二窗口的操作信息,确定所述操作信息对应的偏移量;

窗口移动模块,用于依据所述偏移量移动所述第二窗口。

B10、如B9所述的装置,所述窗口显示模块,包括:

第一显示子模块,用于所述第一进程以全屏的形式在显示屏幕上对所述第一窗口进行展示;

第二显示子模块,用于在所述第一窗口内,所述第二进程以寄宿的形式对所述第二窗口进行展示。

B11、如B9所述的装置,所述偏移量包括目标偏移量,所述偏移量确定模块,包括:

信息截获子模块,用于采用钩子程序对所述操作信息进行监视,截获携带目标事件的操作信息,其中,所述目标事件包含目标按下事件和目标抬起事件;

第一提取子模块,用于从所述目标按下事件中提取起始位置参数;

第二提取子模块,用于从所述目标抬起事件中提取终止位置参数;

目标偏移量子模块,用于对所述起始位置参数和终止位置参数进行计算,得到所述第二窗口的目标偏移量;

其中,所述窗口移动模块,包括:目标移动子模块,用于基于所述目标偏移量对所述第二窗口进行移动。

B12、如B11所述的装置,所述钩子程序包括线程钩子,所述信息截获子模块,包括:

第一检测单元,用于调用线程钩子检测所述操作信息是否携带目标按下事件;

第一抓取单元,用于若所述操作信息携带目标按下事件,则采用所述线程钩子抓取所述操作信息,并确定为第一操作信息;

其中,所述第一提取子模块,具体用于对所述第一操作信息携带的目标按下事件进行分析,得到起始位置参数。

B13、如B12所述的装置,所述钩子程序还包括全局钩子,所述信息截获子模块,还包括:

第二检测单元,用于调用全局钩子检测所述操作信息是否携带目标抬起事件;

第二抓取单元,用于若操作信息携带目标抬起事件,则采用全局钩子抓取所述操作信息,并确定为第二操作信息;

其中,所述第二提取子模块,具体用于对所述第一操作信息携带的目标抬起事件进行分析,得到终止位置参数。

B14、如B12或B13所述的装置,所述目标事件还包含移动事件。

B15、如B14所述的装置,所述偏移量还包括实时偏移量,所述偏移量确定模块还包括:

第三提取子模块,采用所述线程钩子抓取携带所述移动事件的操作信息,并从所述移动事件中提取移动位置参数;

实时偏移量子模块,用于对所述移动位置参数与所述起始位置参数进行计算,确定实时偏移量;

其中,所述窗口移动模块,还包括:实时移动子模块,用于按照所述实时偏移量对所述第二窗口对进行移动。

B16、如B9所述的装置,所述窗口移动模块,包括:

位置确定子模块,用于按照所述偏移量对所述第二窗口进行移动,确定第二窗口对应的显示位置;

窗口展示子模块,用于在所述显示位置上对所述第二窗口进行展示。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1