微件应用的显示位置切换方法及装置与流程

文档序号:11519331阅读:607来源:国知局
微件应用的显示位置切换方法及装置与流程

本发明涉及软件技术领域,特别涉及一种微件应用的显示位置切换方法及装置。



背景技术:

随着软件技术的不断进步,市面上逐渐出现了一些非常具有实用价值的桌面小微件应用,比如对系统进行优化的系统加速应用,进行天气显示的天气预报应用等。这些小微件应用的出现不但极大地丰富了桌面的功能,而且增添了趣味性。

相关技术中,这些小微件应用一般均是显示在终端屏幕上除了任务栏所在显示区域以外的其他显示区域。以系统加速应用为例,如图1所示,图中的圆形加速球便为系统加速应用,利用该加速球可对终端进行网速监测、系统加速、垃圾清理等处理操作。在运行状态下,系统加速应用通常是一直以置于顶层的显示方式显示在上述其他显示区域。进一步地,为了尽可能不影响网页窗口或文档窗口等其他窗口的显示,一般的做法还将系统加速应用显示在上述其他显示区域的边缘位置,比如图1所示的右边缘区域。

在实现本发明的过程中,发明人发现相关技术至少存在以下问题:

由于微件应用一直显示在上述其他显示区域,占用了部分显示区域,因此在很多情况下还是会影响网页窗口或文档窗口等其他窗口的显示,从而影响用户使用,因此该种微件应用的显示方式效果不佳。



技术实现要素:

为了解决相关技术的问题,本发明实施例提供了一种微件应用的显示位置切换方法及装置。所述技术方案如下:

第一方面,提供了一种微件应用的显示位置切换方法,所述方法包括:

接收针对显示在第一显示区域的微件应用的第一菜单显示指令,响应所述第一菜单显示指令,对所述微件应用的第一菜单页面进行显示,所述第一菜单页面包括所述微件应用的最小化功能选项;

接收针对所述最小化功能选项的第一选中指令,响应所述第一选中指令,在第二显示区域中确定用于放置所述微件应用的空白托盘区域;

将所述微件应用由所述第一显示区域切换至所述空白托盘区域进行显示;

其中,所述第一显示区域为终端屏幕上除了所述第二显示区域之外的其他显示区域,所述第二显示区域为所述终端屏幕上任务栏的所在显示区域。

第二方面,提供了一种微件应用的显示位置切换装置,所述装置包括:

界面显示模块,用于接收针对显示在第一显示区域的微件应用的第一菜单显示指令,响应所述第一菜单显示指令,对所述微件应用的第一菜单页面进行显示,所述第一菜单页面包括所述微件应用的最小化功能选项;

所述界面显示模块,用于接收针对所述最小化功能选项的第一选中指令,响应所述第一选中指令;

所述托盘逻辑模块,用于在第二显示区域中确定用于放置所述微件应用的空白托盘区域;

所述界面显示模块,用于将所述微件应用由所述第一显示区域切换至所述空白托盘区域进行显示;

其中,所述第一显示区域为终端屏幕上除了所述第二显示区域之外的其他显示区域,所述第二显示区域为所述终端屏幕上任务栏的所在显示区域。

本发明实施例提供的技术方案带来的有益效果是:

在微件应用显示在非任务栏所在的第一显示区域上时,若接收到针对微件应用的第一菜单显示指令,则响应第一菜单显示指令,显示包括最小化功能选项的第一菜单页面,这样在接收到对最小化功能选项的第一选中指令后,便可响应第一选中指令,在任务栏所在的第二显示区域中确定用于放置该微件应用的空白托盘区域,并直接将该微件应用由第一显示区域切换至空白托盘区域进行显示,由于在将微件应用切换至空白托盘区域进行显示后,微件应用不再占用第一显示区域中的任何显示区域,因此不会对显示在第一显示区域上的网页窗口或文档窗口等产生影响,所以该种微件应用的显示方式效果较佳。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明背景技术涉及的微件应用的显示示意图;

图2是本发明实施例提供的微件应用的显示位置切换方法所涉及的基础框架的结构示意图;

图3是本发明实施例提供的一种任务栏的示意图;

图4是本发明实施例提供的一种微件应用的显示位置切换方法的流程图;

图5是本发明实施例提供的一种微件应用的菜单页面的示意图;

图6是本发明实施例提供的一种微件应用的显示示意图;

图7是本发明实施例提供的另一种微件应用的显示示意图;

图8是本发明实施例提供的又一种微件应用的显示示意图;

图9是本发明实施例提供的再一种微件应用的显示示意图;

图10是本发明实施例提供的一种托盘逻辑模块和界面显示模块的交互流程示意图;

图11a是本发明实施例提供的另一种微件应用的菜单页面的示意图;

图11b是本发明实施例提供的另一种托盘逻辑模块和界面显示模块的交互流程示意图;

图12是本发明实施例提供的一种微件应用的显示位置切换装置的结构示意图;

图13是本发明实施例提供的一种终端的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

在对本发明实施例进行详细地解释说明之前,先对本发明实施例提供的微件应用的显示位置切换方法所涉及的应用场景和基础框架进行简单介绍。

时下由于微件应用一般均是显示在终端的非任务栏所在的第一显示区域上,会占用第一显示区域的一部分显示区域,因此目前许多用户因为其这一影响使用的缺陷而放弃使用微件应用,从而造成用户的流失。本发明实施例为了尽可能地挽回这部分用户,满足用户的诉求,提出了在任务栏所在的第二显示区域中显示微件应用的方案。即,在本发明实施例中,第一显示区域为终端屏幕上除了第二显示区域之外的其他显示区域,而第二显示区域为终端屏幕上的任务栏所在显示区域。

参见图2,该基础框架主要包括托盘逻辑模块以及界面显示模块这两部分。其中,托盘逻辑模块主要负责将任务栏的各种状态通知给界面显示模块,以便界面显示模块根据任务栏的当前状态对微件应用进行相应地显示处理。界面显示模块用于在终端屏幕上渲染出微件应用,以及响应各种用户操作行为。其中,各种用户操作行为可涉及微件应用进入托盘态、退出托盘态、用户点击微件应用、鼠标悬浮在微件应用上、以及鼠标离开微件应用等。

需要说明的两点是,一,界面显示模块和托盘逻辑模块除了进行必要的通信之外,还包括了二者之间相互守护的逻辑,即如果其中一个模块不能正常工作,那么另一个模块也应该及时地做相应的状态调整。二,上述提及到的托盘态指代的是微件应用显示在任务栏的空白托盘区域;后文中提及到的桌面态指代的是微件应用显示在第一显示区域上。基于本发明实施例提供的上述基础框架,微件应用可以根据需求灵活地在非任务栏所在的第一显示区域和任务栏所在的第二显示区域中来回切换显示。

此外,当微件应用显示在第一显示区域上时,当第一显示区域上没有显示文档窗口或网页窗口等时,此时微件应用是以置于顶层的方式显示在桌面上的;当第一显示区域上显示有文档窗口或网页窗口等时,此时微件应用是以置于顶层的方式显示在这些窗口上的。

此外,为了便于后续描述,在这里先对任务栏所包括的各个子区域进行简单的描述。如图3所示,任务栏通常包括“开始”菜单、快速启动栏、应用程序区域和托盘区域这四个部分。其中,托盘区域又可称之为任务栏的通知区域,其用于显示系统当前运行的应用程序的图标、网络连接情况、电池使用情况、音量控制图标、时间日期、以及输入法等信息。在本发明实施例中,即是直接在托盘区域中保留一块空白区域,然后界面显示模块直接将微件应用渲染于其上。

在本发明实施例中,上述托盘逻辑模块和界面显示模块分别实现在两个进程中。其中,托盘逻辑模块的dll(dynamiclinklibrary,动态链接库)文件,即qmspeeduprockettraystub.dll需要注入到资源管理器进程(explorer.exe)中,从而实现将托盘逻辑模块的二进制代码提交到资源管理器进程的地址空间中,使得托盘逻辑模块获得执行能力。而界面显示模块存在与另一个单独的进程qqpcrealtimespeedup.exe中,二者共同构成了对微件应用进行显示的整个基础框架。

图4是本发明实施例提供的一种微件应用的显示位置切换方法的流程图。其中,该微件应用的显示位置切换方法应用于图2所示的基础框架。以微件应用为系统加速应用为例,参见图4,本发明实施例提供的方法流程包括:

401、接收针对显示在第一显示区域的微件应用的第一菜单显示指令,响应第一菜单显示指令,对该微件应用的第一菜单页面进行显示,该第一菜单页面包括该微件应用的最小化功能选项。

在本发明实施例中,当系统加速应用处于桌面态,即如图1所示以置于顶层的方式显示在第一显示区域上时,图2中的界面显示模块会实时检测用户对该系统加速应用执行的各种操作行为,若界面显示模块获取到用户对该系统加速应用执行了右键点击操作,即触发了针对该微件应用的第一菜单显示指令,则响应第一菜单显示指令,在第一显示区域上显示如图5所示的第一菜单页面。

参见图5,第一菜单页面除了包括深度加速、网络优化、测试网速、垃圾清理、皮肤中心、游戏加速、设置、游戏模式、应用消息、本次退出和永久退出等常规功能选项外,还额外新增了将系统加速应用由桌面态切换至托盘态的入口,即最小化功能选项。

402、接收针对最小化功能选项的第一选中指令,响应第一选中指令,在第二显示区域中确定用于放置该微件应用的空白托盘区域,将该微件应用由第一显示区域切换至空白托盘区域进行显示。

在本发明实施例中,界面显示模块负责检测用户的各种操作行为,因此若界面显示模块获取到用户执行了对图5中第一菜单页面上的最小化功能选项的点击操作,即触发了针对该最小化功能选项的第一选中指令,则响应第一选中指令,在第二显示区域中确定用于放置该微件应用的空白托盘区域,并如图6所示将该系统加速应用显示在这一空白托盘区域,从而达到不占用第一显示区域中任何显示区域的目的。

在另一个实施例中,在该系统加速应用由第一显示区域切换至空白托盘区域进行显示后,如图6所示,界面显示模块还会在第一显示区域上显示该系统加速应用的位置更新提示消息。

其中,位置更新提示消息可诸如图6所示的“小火箭在这里了~记得点击加速”这种形式,用于提示用户系统加速应用已经由第一显示区域更换到任务栏中的空白托盘区域进行显示了。

需要说明的是,位置更新提示消息中之所以将该系统加速应用称之为小火箭是因为,在用户点击系统加速应用进行系统优化时,在第一显示区域上会伴随显示有一个小火箭升空的动画效果。还有,在系统加速应用处于桌面态时,当鼠标指针悬浮(hover)于该系统加速应用上时,该系统加速应用会伴随显示有一个小火箭的动画效果。比如,当鼠标指针悬浮在图1所示的加速球上时,该加速球上会显示有一个动态的小火箭。

在另一个实施例中,在该系统加速应用由第一显示区域切换至空白托盘区域进行显示后,若界面显示模块确定鼠标指针悬浮于该系统加速应用上,则会如图7所示在第一显示区域上显示当前的系统资源消息。

其中,如图7所示,系统资源消息可包括已用内存比例、剩余内存数目等,本发明实施例对此不进行限定。

此外,当鼠标指针悬浮于该系统加速应用上时,界面显示模块除了可在第一显示区域上显示当前的系统资源消息外,还可额外显示一些动画效果。比如,图6为鼠标指针未悬浮在该系统加速应用上时,该系统加速应用的显示效果,图7为鼠标指针悬浮在该系统加速应用上时,该系统加速应用的显示效果。即,当鼠标指针悬浮在该系统加速应用上时,立即更新该系统加速应用的显示效果。

在另一个实施例中,在系统加速应用由第一显示区域切换至空白托盘区域进行显示后,若界面显示模块接收到针对该微件应用的系统优化指令,即获取到用户执行的对系统加速应用的触发操作,则不但响应该系统优化指令,执行系统优化操作,还会在本次系统优化结束后,在第一显示区域上显示本次系统优化的优化结果消息。

其中,对该系统加速应用的触发操作通常指代用户对该系统加速应用的左键点击操作。在触发系统优化后,如图8所示,在第一显示区域上会伴随显示有一个小火箭升空的动画效果,同时,该系统加速应用的显示效果也会由图6所示形式更换为图8所示形式。

此外,在本次系统优化结束后,除了该系统加速应用的显示效果由图8所示形式更换为图9所示的“火焰”形式外,还会在第一显示区域上以tips的形式显示本次的优化结果消息。如图9所示,该优化结果消息可诸如“燃烧了34mb”等形式,本发明实施例对此同样不进行具体限定。

综上所述,上述步骤详细地介绍了该系统加速应用的显示方式以及一些产品形态,下面结合上述内容对该系统加速应用之所以可以进行上述显示的原理进行详细地解释说明。

在本发明实施例中,参见图10,上述在第二显示区域中确定用于放置该微件应用的空白托盘区域,并将该微件应用由第一显示区域切换至空白托盘区域进行显示,包括:

首先,界面显示模块调用辅助进程,将托盘逻辑模块的动态链接库文件注入资源管理器进程。

即,如图10所示,界面显示模块拉起辅助进程qminjecthelper64.exe,通过windows消息钩子或驱动等形式,将qmspeeduprockettraystub.dll注入explorer.exe,使得托盘逻辑模块获取执行能力。

之后,界面显示模块会向托盘逻辑模块发送针对该系统加速应用的位置分配请求,该位置分配请求用于请求在第二显示区域中确定空白托盘区域;而托盘逻辑模块在接收到该位置分配请求后,便会响应该位置分配请求,直接在第二显示区域中分配用于放置该系统加速应用的空白托盘区域。

在本发明实施例中,托盘逻辑模块在任务栏中分配用于放置该系统加速应用的空白托盘区域时,可采取下述方式实现:

(a)、托盘逻辑模块查找任务栏的窗口句柄,并截获(hook)窗口句柄的窗口函数;接下来,托盘逻辑模块确定第二显示区域的当前位置。

其中,hook指代截获特定时机的指令,并改变原有的执行流程,使之按照期望的方式执行。

众所周知,任务栏除了常规的显示在终端屏幕上的最下方水平区域外,还可显示在终端屏幕上的最上方水平区域、最左方垂直区域以及最右方垂直区域,因此决定在托盘区域显示该系统加速应用时,还需先确定第二显示区域的当前位置。

(b)、托盘逻辑模块会基于该窗口函数捕获任务栏的抛送消息的返回值。

经研究发现,任务栏在需要重新绘制或者刷新时,会给托盘区域(又称之为通知区域traynotifywnd)抛送一个消息,用以查询整个托盘区域所需要的空间大小,并接收该抛送消息的返回值。具体地说,该返回值包括了一个(cx,cy)的尺寸范围,这个尺寸范围为系统默认的托盘区域大小。任务栏获取到该尺寸范围,从而进行相应的窗口布局。

其中,该抛送消息具体为tray_notify_msg_get_required_size(0x0464)。

(c)、托盘逻辑模块基于第二显示区域的当前位置以及该抛送消息的返回值,在第二显示区域中为该系统加速应用分配空白托盘区域。

在上述基础上,托盘逻辑模块只需捕获该抛送消息的返回值,结合第二显示区域的当前位置,在上述默认保留区域大小的基础上,增加一块足以容纳托盘态的系统加速应用的区域即可得到该空白托盘区域。

在本发明实施例中,图6至图9所示,该空白托盘区域通常位于托盘区域的偏右侧,比如在显示时间日期等信息的区域旁边。当然,还可以在其他区域分配该空白托盘区域,本发明实施例对此不进行具体限定。由于托盘区域在默认大小的基础上增大了尺寸,而对于一个终端来说,由于其屏幕大小固定,因此任务栏的大小在正常显示下通常也是固定的,所以其他子区域的大小会相应地缩小,比如图3中应用程序区域的大小就会相应缩小。

之后,托盘逻辑模块在位置分配结束后,如图10所示,会向界面显示模块发送第一完成通知消息,以对界面显示模块进行提示;而界面显示模块在接收到第一完成通知消息后,会将该系统加速应用直接由第一显示区域切换至该空白托盘区域进行显示,即直接在该空白托盘区域上进行该系统加速应用的界面渲染,实现该系统加速应用由桌面态切换至托盘态。

上述以微件应用为系统加速应用为例介绍了将微件应用从第一显示区域切换至第二显示区域的空白托盘区域进行显示的具体实现过程。除此之外,微件应用还可为天气预报应用、新闻客户端应用等等桌面小工具形式,本发明实施例对微件应用的类型不进行具体限定。与上述过程类似的是,天气预报应用或新闻客户端应用等在从第一显示区域切换到第二显示区域的空白托盘区域中显示时,同样也会如图6至图9所示在第二显示区域中分配好的空白托盘区域上显示对应的天气小图标或新闻小图标。换句话说,本发明实施例提供的微件应用的显示位置切换方法可为系统加速应用,乃至其他桌面小工具提供一种由任务栏切换至任务栏显示的途径,由于该种显示方式用户体验更好,因此用户更乐于接受、且更乐于使用,所以可增强用户粘性。

需要说明的是,界面显示模块和托盘逻辑模块除了可将系统加速应用由桌面态切换至托盘态以外,还可以对下面几种特殊情形进行处理。

情形一、参见图10,当系统加速应用处于托盘态时,一旦任务栏有任何位置调整,托盘逻辑模块将立即通知界面显示模块对系统加速应用进行显示位置更新。详细如下:

在系统加速应用处于托盘态时,若托盘逻辑模块获取到针对第二显示区域的位置调整操作,即接收到针对第二显示区域的位置调整指令,比如任务栏由最下方水平放置更换为最右方垂直放置,则托盘逻辑模块会响应该位置调整指令,向界面显示模块发送对系统加速应用进行位置更新的位置更新消息。其中,该位置更新消息中至少包括第二显示区域更新后的位置。

而界面显示模块在接收到该位置更新消息后,会基于第二显示区域更新后的位置对应调整该系统加速应用的显示位置。继续以上述例子为例,若任务栏放置在最右方垂直区域,那么托盘逻辑模块和界面显示模块同样会采取与前文所述类似的方式,将该系统加速应用显示在空白托盘区域中,此时空白托盘区域应该是位于终端屏幕的最右下角区域。

情形二、参见图10,在系统加速应用处于托盘态时,当任务栏被隐藏时,托盘逻辑模块会立即通知界面显示模块,以使界面显示模块同步隐藏该系统加速应用。详细如下:

在系统加速应用处于托盘态时,若托盘逻辑模块获取到任务栏的隐藏操作,即接收到针对任务栏的隐藏指令,则托盘逻辑模块会响应该隐藏指令,向界面显示模块发送对该系统加速应用进行隐藏的隐藏消息;而界面显示模块在接收到该隐藏消息后,如图10所示,会先判断任务栏此时是否存在于终端屏幕上;若界面显示模块确定终端屏幕上当前未显示有任务栏,则隐藏该系统加速应用。若界面显示模块确定终端屏幕上当前显示有任务栏,则判断任务栏的托盘区域当前是否显示在终端屏幕上;若任务栏的托盘区域当前显示在终端屏幕上,则界面显示模块不对该系统加速应用进行隐藏,还是在终端屏幕上显示该系统加速应用。

此外,在系统加速应用切换为托盘态后,由于一些其他不可预知的因素存在,可能会导致该系统加速应用强制退出等情况发生,为了防止该系统加速应用一直占据任务栏,托盘逻辑模块还会实时监测该系统加速应用是否显示在任务栏中,一旦该系统加速应用不显示在任务栏中了,托盘逻辑模块便会立即释放用于放置该系统加速应用的空白托盘区域。

总结来说,托盘逻辑模块一旦感知到任务栏的状态变化,包括任务栏的位置调整、任务栏置顶、任务栏隐藏或者窗口全屏等等时,托盘逻辑模块便会立即通知界面显示模块,从而界面显示模块便可根据上述不同情形对该系统加速应用进行相应处理,具体的处理方式同上述描述的几种情形类似,此处不再赘述。其中首要的问题是便是如何感知任务栏的各种状态变化。虽然托盘逻辑模块可以定时地监控任务栏的状态变化,但是效率很低,难以做到实时,存在一定的延迟。因此,在本发明实施例中采取由任务栏在其状态变化时主动通知托盘逻辑模块的同步方式。

比如,针对任务栏移动以及置顶的方式,主动捕获任务栏窗口的位置变化消息wm_windowposchanged,并将其通知给托盘逻辑模块,实现结合界面显示模块处理任务栏移动或置顶。

针对任务栏隐藏的方式,事实上,此时任务栏并未真正隐藏,仅仅只是移除到了屏幕显示区域之外而已。因此,依旧是主动捕获任务栏窗口的位置变化消息wm_windowposchanged,并将其通知给托盘逻辑模块,实现结合界面显示模块处理位置移动变化,更新系统加速应用的显示位置。

针对全屏,对于xp之前的系统来说,全屏时实际上仅仅只是将任务栏置于窗口链最下端而已。因此,可以通过hook掉setwindowpos函数,来实现捕获其hwnd_bottom==hwndinsertafter的调用,据此即可判断此时的全屏状态,并将其转发给托盘逻辑模块。

而对于vista及以后系统来说,通过shappbarmessage(abm_new)给系统注册一个自定义的任务栏通知消息,同时捕获其abn_fullscreenapp通知码消息,即可获知当前系统的全屏状态,并将其转发给托盘逻辑模块,实现结合界面显示模块进行相应处理。

在另一个实施例中,在系统加速应用由桌面态切换至托盘态后,还可以再将该系统加速应用恢复至桌面态,详细如下:

若界面显示模块获取到用户对显示在空白托盘区域上的系统加速应用执行的菜单显示操作,即触发了针对该系统加速应用的第二菜单显示指令,会响应该第二菜单显示指令,在第一显示区域上显示该系统加速应用的第二菜单页面。其中,该第二菜单页面包括该系统加速应用的返回桌面功能选项。当界面显示模块接收到针对该返回桌面功能选项的第二选中指令时,响应该第二选中指令,将该系统加速应用由空白托盘区域切换至第一显示区域进行显示。

即,在该系统加速应用处于托盘态时,当用户执行了对该系统加速应用的右键点击操作后,界面显示模块会在第一显示区域上显示如图11a所示的第二菜单页面。其中,该第二菜单页面上包括了一个回到桌面的功能选项,当用户点击了该功能选项后,界面显示模块确定检测到针对该系统加速应用的恢复桌面态的触发操作。之后,如图11b所示,界面显示模块会向托盘逻辑模块发送退出通知请求。其中,该退出通知请求用于请求释放用于放置该系统加速应用的空白托盘区域。

而托盘逻辑模块在接收到该退出通知请求后,会立即释放该空白托盘区域,并向界面显示模块发送第二完成通知消息,以对界面显示模块进行提示。这样,界面显示模块在接收到第二完成通知消息后,便会在第一显示区域上显示该系统加速应用,即将该系统加速应用重新渲染于第一显示区域上进行显示。

此外,如图11b所示,如果界面显示模块在向托盘逻辑模块发送消息后,迟迟收不到托盘逻辑模块返回的消息,即若界面显示模块等待超时了,那么界面显示模块还可自行将该系统加速应用由托盘态恢复至桌面态,或者直接退出系统加速应用。

本发明实施例提供的方法,在系统加速应用显示在非任务栏所在的第一显示区域上时,若接收到针对系统加速应用的第一菜单显示指令,则响应第一菜单显示指令,显示包括最小化功能选项的第一菜单页面,这样在接收到对最小化功能选项的第一选中指令后,便可响应第一选中指令,在任务栏所在的第二显示区域中确定用于放置该系统加速应用的空白托盘区域,并直接将该系统加速应用由第一显示区域切换至空白托盘区域进行显示,由于在将系统加速应用切换至空白托盘区域进行显示后,系统加速应用不再占用第一显示区域中的任何显示区域,因此不会对显示在第一显示区域上的网页窗口或文档窗口等产生影响,所以该种系统加速应用的显示方式效果较佳,用户粘性更高。

另外,系统加速应用在处于托盘态时,还可依据任务栏的状态变化而变化显示位置或显示方式,因此该种系统加速应用的显示方式更为丰富,且还支持系统加速应用在桌面态和托盘态之间任意切换,因此灵活性也更高,更具智能性。

图12是本发明实施例提供的一种微件应用的显示位置切换装置的结构示意图。参见图12,该装置包括:

界面显示模块1201,用于接收针对显示在第一显示区域的微件应用的第一菜单显示指令,响应第一菜单显示指令,对微件应用的第一菜单页面进行显示,第一菜单页面包括微件应用的最小化功能选项;

界面显示模块1201,用于接收针对最小化功能选项的第一选中指令,响应第一选中指令;

托盘逻辑模块1202,用于在第二显示区域中确定用于放置微件应用的空白托盘区域;

界面显示模块1201,用于将微件应用由第一显示区域切换至空白托盘区域进行显示;

其中,第一显示区域为终端屏幕上除了第二显示区域之外的其他显示区域,第二显示区域为终端屏幕上任务栏的所在显示区域。

在另一个实施例中,界面显示模块1201,用于在接收到第一选中指令后,响应第一选中指令,向托盘逻辑模块1202发送位置分配请求,位置分配请求用于请求在第二显示区域中确定空白托盘区域;

托盘逻辑模块1202,用于响应位置分配请求,在第二显示区域中确定用于放置微件应用的空白托盘区域;

界面显示模块1201,用于接收托盘逻辑模块1202发送的第一完成通知消息,将微件应用由第一显示区域切换至空白托盘区域进行显示,第一完成通知消息是托盘逻辑模块1202在确定空白托盘区域后发送的。

在另一个实施例中,托盘逻辑模块1202,还用于查找任务栏的窗口句柄,并截获窗口句柄的窗口函数;

托盘逻辑模块1202,还用于确定第二显示区域的当前位置;

托盘逻辑模块1202,还用于基于窗口函数捕获任务栏的抛送消息的返回值,返回值中携带了抛送消息请求查询的第二显示区域需要为整个托盘区域保留的空间大小;

托盘逻辑模块1202,用于基于第二显示区域的当前位置以及抛送消息的返回值,在第二显示区域中确定空白托盘区域。

在另一个实施例中,托盘逻辑模块1202,还用于在微件应用由第一显示区域切换至空白托盘区域进行显示后,接收针对第二显示区域的位置调整指令,响应位置调整指令,向界面显示模块1201发送对微件应用进行显示位置更新的位置更新消息,位置更新消息中至少包括第二显示区域更新后的位置;

界面显示模块1201,还用于在接收到位置更新消息后,基于第二显示区域更新后的位置,调整微件应用的显示位置。

在另一个实施例中,托盘逻辑模块1202,还用于在微件应用由第一显示区域切换至空白托盘区域进行显示后,接收针对任务栏的隐藏指令,响应隐藏指令,向界面显示模块1201发送对微件应用进行隐藏的隐藏消息;

界面显示模块1201,还用于在接收到隐藏消息后,若确定终端屏幕上当前未显示有任务栏,则隐藏微件应用;

界面显示模块1201,还用于在接收到隐藏消息后,若确定终端屏幕上当前显示有任务栏,则判断任务栏的托盘区域当前是否显示在终端屏幕上;

界面显示模块1201,还用于若任务栏的托盘区域当前显示在终端屏幕上,则显示微件应用。

在另一个实施例中,界面显示模块1201,还用于接收针对显示在空白托盘区域的微件应用的第二菜单显示指令,响应第二菜单显示指令,对微件应用的第二菜单页面进行显示,第二菜单页面包括微件应用的返回桌面功能选项;

界面显示模块1201,还用于接收针对返回桌面功能选项的第二选中指令,响应第二选中指令,将微件应用由空白托盘区域切换至第一显示区域进行显示。

在另一个实施例中,界面显示模块1201,还用于接收并响应第二选中指令,向托盘逻辑模块1202发送退出通知请求,退出通知请求用于请求在第二显示区域上释放空白托盘区域;

托盘逻辑模块1202,还用于响应退出通知请求,在第二显示区域上释放空白托盘区域,并向界面显示模块1201发送第二完成通知消息;

界面显示模块1201,用于接收第二完成通知消息,将微件应用由空白托盘区域切换至第一显示区域进行显示。

本发明实施例提供的装置,在微件应用显示在非任务栏所在的第一显示区域上时,若接收到针对微件应用的第一菜单显示指令,则响应第一菜单显示指令,显示包括最小化功能选项的第一菜单页面,这样在接收到对最小化功能选项的第一选中指令后,便可响应第一选中指令,在任务栏所在的第二显示区域中确定用于放置该微件应用的空白托盘区域,并直接将该微件应用由第一显示区域切换至空白托盘区域进行显示,由于在将微件应用切换至空白托盘区域进行显示后,微件应用不再占用第一显示区域中的任何显示区域,因此不会对显示在第一显示区域上的网页窗口或文档窗口等产生影响,所以该种微件应用的显示方式效果较佳。

另外,微件应用在处于托盘态时,还可依据任务栏的状态变化而变化显示位置或显示方式,因此该种微件应用的显示方式更为丰富,且还支持微件应用在桌面态和托盘态之间任意切换,因此灵活性也更高,更具智能性。

需要说明的是:上述实施例提供的微件应用的显示位置切换方法在对微件应用的显示位置进行切换时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的微件应用的显示位置切换装置与微件应用的显示位置切换方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

图13是本发明实施例提供的一种终端的结构示意图,该终端可以用于执行上述实施例中提供的微件应用的显示位置切换方法。参见图13,该终端1300包括:

rf(radiofrequency,射频)电路110、包括有一个或一个以上计算机可读存储介质的存储器120、输入单元130、显示单元140、传感器150、音频电路160、wifi(wirelessfidelity,无线保真)模块170、包括有一个或者一个以上处理核心的处理器180、以及电源190等部件。本领域技术人员可以理解,图13中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:

rf电路110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器180处理;另外,将涉及上行的数据发送给基站。通常,rf电路110包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(sim)卡、收发信机、耦合器、lna(lownoiseamplifier,低噪声放大器)、双工器等。此外,rf电路110还可以通过无线通信与网络和其他设备通信。无线通信可以使用任一通信标准或协议,包括但不限于gsm(globalsystemofmobilecommunication,全球移动通讯系统)、gprs(generalpacketradioservice,通用分组无线服务)、cdma(codedivisionmultipleaccess,码分多址)、wcdma(widebandcodedivisionmultipleaccess,宽带码分多址)、lte(longtermevolution,长期演进)、电子邮件、sms(shortmessagingservice,短消息服务)等。

存储器120可用于存储软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端1300的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器120还可以包括存储器控制器,以提供处理器180和输入单元130对存储器120的访问。

输入单元130可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元130可包括触敏表面131以及其他输入设备132。触敏表面131,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面131上或在触敏表面131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面131。除了触敏表面131,输入单元130还可以包括其他输入设备132。具体地,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

显示单元140可用于显示由用户输入的信息或提供给用户的信息以及终端1300的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元140可包括显示面板141,可选的,可以采用lcd(liquidcrystaldisplay,液晶显示器)、oled(organiclight-emittingdiode,有机发光二极管)等形式来配置显示面板141。进一步的,触敏表面131可覆盖显示面板141,当触敏表面131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图13中,触敏表面131与显示面板141是作为两个独立的部件来实现输入和输出功能,但是在某些实施例中,可以将触敏表面131与显示面板141集成而实现输入和输出功能。

终端1300还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在终端1300移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端1300还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

音频电路160、扬声器161,传声器162可提供用户与终端1300之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经rf电路110以发送给比如另一终端,或者将音频数据输出至存储器120以便进一步处理。音频电路160还可能包括耳塞插孔,以提供外设耳机与终端1300的通信。

wifi属于短距离无线传输技术,终端1300通过wifi模块170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。

处理器180是终端1300的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行终端1300的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器180可包括一个或多个处理核心;优选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。

终端1300还包括给各个部件供电的电源190(比如电池),优选的,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源190还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

尽管未示出,终端1300还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端的显示单元是触摸屏显示器,终端还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行述一个或者一个以上程序包含用于执行上述微件应用的显示位置切换方法的指令。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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