Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND DEVICE FOR UTILIZING SUPERBAR TO CONTROL INSTANT MESSAGING SOFTWARE
Document Type and Number:
WIPO Patent Application WO/2011/134299
Kind Code:
A1
Abstract:
A method for utilizing a SuperBar to control instant messaging software is provided. The method includes: creating a virtual window corresponding to the main panel of the instant messaging software (101); monitoring a window message during the window procedures of the virtual window (102) and executing SuperBar operations according to the monitored window message (103). The technical solution enables the instant messaging software to support the SuperBar, and raises the user experience during using the instant messaging software through controlling the running status of the instant messaging software by the SuperBar.

Inventors:
CHEN YUEWEI (CN)
WANG PU (CN)
WENG YUEDONG (CN)
Application Number:
PCT/CN2011/071049
Publication Date:
November 03, 2011
Filing Date:
February 17, 2011
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
TENCENT TECH SHENZHEN CO LTD (CN)
CHEN YUEWEI (CN)
WANG PU (CN)
WENG YUEDONG (CN)
International Classes:
G06F9/44
Foreign References:
CN1851641A2006-10-25
CN1786906A2006-06-14
Other References:
"Windows 7- Simplicity and Effective.", PC WORLD., December 2009 (2009-12-01), pages 81 - 82
Attorney, Agent or Firm:
DEQI INTELLECTUAL PROPERTY LAW CORPORATION (CN)
北京德琦知识产权代理有限公司 (CN)
Download PDF:
Claims:
权利要求书

1、 一种利用超级任务栏控制即时通信软件的方法, 其特征在于, 包 括:

创建与即时通信软件主面板对应的虚拟窗口;

在所述虚拟窗口的窗口过程中监听窗口消息; 以及

根据监听到的窗口消息执行超级任务栏操作。

2、如权利要求 1所述的方法, 其特征在于, 所述超级任务栏操作包 括以下一种或多种操作:

创建窗口缩略图、 创建缩略图工具栏、 创建窗口实时预览图、 创建 任务栏按钮图标或者创建任务栏按钮叠加图标。

3、 如权利要求 2所述的方法, 其特征在于,

所述创建窗口缩略图包括: 在任务栏按钮合并情况下, 将当前主面 板的绘图缩放绘制到画布上,得到缩略图;在任务栏按钮不合并情况下, 在不可见窗口上用静态图片控件放置用户头像、 用静态文本控件放置用 户昵称和帐号, 将用户头像、 用户昵称和帐号与主面板当前绘图绘制到 同一张画布上, 得到缩略图;

所述创建缩略图工具栏包括: 当监听到任务栏按钮创建消息时, 创 建缩略图工具栏;

所述创建窗口实时预览图包括:将主面板当前绘图输出得到预览图; 所述创建任务栏按钮图标包括: 当任务栏按钮不合并时, 主面板对 应的任务栏按钮图标设置为用户自定义头像;

所述创建任务栏按钮叠加状态图标包括: 当前仅登录一个用户时, 在该用户对应的任务栏按钮图标上叠加该用户的在线状态, 生成任务栏 按钮叠加状态图标; 当前登录多个用户且任务栏按钮不合并时, 分别在 每个用户对应的任务栏按钮图标上叠加其对应用户的在线状态, 生成任 务栏按钮叠加状态图标; 当前登录多个用户且任务栏按钮合并时, 则不 在任务栏按钮图标上叠加用户的在线状态。

4、如权利要求 3所述的方法, 其特征在于, 根据监听到的窗口消息 执行超级任务栏操作还包括: 在主面板发生锁定状态变化、 面板大小变 化、 面板隐藏状态变化、 或者面板位置变化中的一种或多种变化时, 刷 新窗口缩略图;

所述创建窗口实时预览图包括: 将所述虚拟窗口的大小设置为与主 面板相同; 对预览图偏移位置进行以下一种处理: 当主面板不处于隐藏 时,偏移位置为所述虚拟窗口和主面板之间的差值; 当主面板贴边隐藏、 且当前处于悬浮在屏幕边缘时, 将偏移位置设为所述虚拟窗口和主面板 之间的差值; 当主面板贴边隐藏、 且当前不悬浮在屏幕边缘时, 将偏移 位置设为所述虚拟窗口和主面板之间的差值再加上主面板的大小;

所述创建任务栏按钮图标包括: 将头像文件在内存中转为 HICON 格式。

5、 如权利要求 1-4中任一项所述的方法, 其特征在于, 根据监听到 的窗口消息执行超级任务栏操作还包括:

生成跳转列表, 并根据所述跳转列表中的每一项设置的快捷方式执 行相应跳转操作。

6、 如权利要求 5所述的方法, 其特征在于, 在多个账户登录时, 所 述多个账户对应的进程通过共享内存在所述跳转列表中显示当前所有 账户的即时状态。

7、 一种利用超级任务栏控制即时通信软件的设备, 其特征在于, 包 括:

窗口创建单元, 用于创建与即时通信软件主面板对应的虚拟窗口; 监听单元, 用于在所述窗口创建单元创建的虚拟窗口的窗口过程中 监听窗口消息;

操作执行单元, 用于根据所述监听单元监听到的窗口消息执行超级 任务栏操作。

8、如权利要求 7所述的设备,其特征在于,所述操作执行单元包括: 缩略图创建子单元, 用于在任务栏按钮合并情况下, 将当前主面板 的绘图缩放绘制到画布上, 得到缩略图; 在任务栏按钮不合并情况下, 在不可见窗口上用静态图片控件放置用户头像、 用静态文本控件放置用 户昵称和帐号, 将用户头像、 用户昵称和帐号与主面板当前绘图绘制到 同一张画布上, 得到缩略图; 和 /或

缩略图工具栏创建子单元, 用于在监听到任务栏按钮创建消息时, 创建缩略图工具栏; 和 /或

窗口实时预览图创建子单元, 用于将主面板当前绘图输出得到预览 图; 和 /或

任务栏按钮图标创建子单元, 用于当任务栏按钮不合并时, 主面板 对应的任务栏按钮图标设置为用户自定义头像; 和 /或

任务栏按钮叠加状态图标创建子单元,用于当前仅登录一个用户时, 为任务栏按钮叠加状态图标; 当前登录多个用户时, 若任务栏按钮不合 并, 为任务栏按钮叠加状态图标; 否则不叠加。

9、如权利要求 8所述的设备, 其特征在于, 所述缩略图创建子单元 还用于在主面板发生锁定状态变化、面板大小变化、面板隐藏状态变化、 或者面板位置变化中的一种或多种变化时, 刷新窗口缩略图;

所述窗口实时预览图创建子单元还用于将所述虚拟窗口的大小设置 为与主面板相同; 对预览图偏移位置进行以下一种或者多种处理: 当主 面板不处于隐藏时, 偏移位置为所述虚拟窗口和主面板之间的差值; 当 主面板贴边隐藏、 且当前处于悬浮在屏幕边缘时, 将偏移位置设为所述 虚拟窗口和主面板之间的差值; 当主面板贴边隐藏、 且当前不悬浮在屏 幕边缘时, 将偏移位置设为所述虚拟窗口和主面板之间的差值再加上主 面板的大小;

所述任务栏按钮图标创建子单元还用于将头像文件在内存中转为

HICON格式。

10、 如权利要求 7-9中任一项所述的设备, 其特征在于, 所述操作 执行单元还包括:

跳转列表子单元, 用于根据监听到的窗口消息生成跳转列表, 根据 所述跳转列表中的每一项设置的快捷方式执行相应跳转操作。

11、 如权利要求 10所述的设备, 其特征在于, 所述跳转列表子单元 还用于:

在多个账户登录时, 通过所述多个账户对应的进程共享内存在所述 跳转列表中显示当前所有账户的即时状态。

Description:
一种利用超级任务栏控制即时通信软件的方法 及设备

技术领域

本发明涉及通信领域, 尤其涉及一种利用超级任务栏控制即时通信 软件的方法及设备。 发明背景

Windows 7是微软公司推出的新一代操作系统, 其提供的新特性越 来越受到关注, 尤其是 Windows 7的任务栏。 Windows 7任务栏支持程 序自定义窗口缩略图( Thumbnail )、缩略图工具栏( Thumbnail Toolbar )、 窗口实时预览图 (Live Preview ), 任务栏按钮图标、 任务栏按钮叠加图 标( Overlay Icon )、 跳转列表( Jump List ), 从而使通过任务栏对程序运 行进行控制成为现实。 其中, 窗口缩略图是指将鼠标悬停在任务栏按钮 后所弹出的窗口的缩略图; 缩略图工具栏是指程序在窗口缩略图上自定 义的工具栏; 窗口实时预览图是指鼠标悬停在窗口缩略图后 弹出的窗口 实时预览图, 与对应的窗口等大。 由于 Windows 7任务栏的强大功能, 现有技术中将具有这种功能的任务栏称为超级 任务栏 ( Super bar )。

IM ( Instant Messaging, 即时通信)网络工具发展到今天, 已经成为 网络用户必不可少的软件工具, IM 工具可以通过点对点的技术来实现 互联网上的即时沟通, 该项技术还支持多个终端共同参与同一会话。

对于 IM工具, 如果可以支持通过超级任务栏控制即时通信软 件, 则能够极大提高用户体验, 但是, 现有技术中尚未提供通过超级任务栏 控制即时通信软件的技术方案。 发明内容

本发明的实施例提供了一种利用超级任务栏控 制即时通信软件的方 法, 实现通过超级任务栏实现对即时通信软件的高 效控制。

本发明实施例提供的利用超级任务栏控制即时 通信软件的方法包 括: 创建与即时通信软件主面板对应的虚拟窗口; 在所述虚拟窗口的窗 口过程中监听窗口消息; 以及根据监听到的窗口消息执行超级任务栏操 作。

本发明实施例提供的利用超级任务栏控制即时 通信软件的设备包 括:

窗口创建单元, 用于创建与即时通信软件主面板对应的虚拟窗 口; 监听单元, 用于在所述窗口创建单元创建的虚拟窗口的窗 口过程中 监听窗口消息; 以及

操作执行单元, 用于根据所述监听单元监听到的窗口消息执行 超级 任务栏操作。

与现有技术相比, 本发明的实施例通过创建与即时通信软件主面 板 对应的虚拟窗口, 在该虚拟窗口的窗口过程中监听窗口消息, 并根据监 听到的窗口消息执行超级任务栏操作, 实现了即时通信软件对超级任务 栏的支持, 即实现了通过超级任务栏控制即时通信软件的 运行状态, 极 大地提高了用户对即时通信软件的使用体验。 附图简要说明

图 1是本发明实施例一提供的利用超级任务栏控 即时通信软件的 方法示意图;

图 2是本发明实施例二提供的 IM软件的技术层次架构示意图; 图 3是本发明实施例二中通过虚拟窗口控制主面 在任务栏的表现 示意图;

图 4是本发明实施例二中在任务栏按钮合并情况 窗口缩略图示意 图;

图 5是本发明实施例二中在任务栏按钮不合并情 下窗口缩略图示 意图;

图 6是本发明实施例二中在任务栏不合并情况下 面板缩略图创建 的过程示意图;

图 7是本发明实施例二中缩略图工具栏示意图;

图 8是本发明实施例二中任务栏按钮图标示意图

图 9是本发明实施例二中任务栏按钮叠加状态图 示意图; 图 10~12是本发明实施例二中跳转列表图标示意图

图 13是本发明实施例二中快捷方式的执行过程示 图;

图 14是本发明实施例三提供的利用超级任务栏控 即时通信软件 的设备的结构示意图;

图 15 是本发明实施例三提供的利用超级任务栏控制 即时通信软件 的设备中操作执行单元的结构示意图。 实施本发明的方式

下面将结合附图详细说明本发明的具体实施方 式。

本发明实施例一提供了一种利用超级任务栏控 制即时通信软件的方 法, 如图 1所示, 包括:

步骤 101 , 创建与即时通信软件主面板对应的虚拟窗口;

步骤 102, 在所述虚拟窗口的窗口过程中监听窗口消息; 以及 步骤 103 , 根据监听到的窗口消息执行超级任务栏操作。

在本发明的实施例中, 窗口过程具体是指窗口回调函数。 当窗口大 小改变、 鼠标悬浮在窗口、 鼠标在窗口内按下等动作发生时, 系统会将 这些动作通过窗口回调函数, 也即窗口过程, 告诉应用程序, 这样应用 程序就可以获知窗口的这些变化。

上述步骤 103所述超级任务栏操作包括以下操作中的一种 或多种: 创建窗口缩略图、 创建缩略图工具栏、 创建窗口实时预览图、 创建任务 栏按钮图标以及创建任务栏按钮叠加图标。

其中, 所述创建窗口缩略图包括: 在任务栏按钮合并情况下, 将当 前即时通信软件主面板(以下筒称为主面板) 的绘图缩放绘制到画布上, 得到缩略图; 在任务栏按钮不合并情况下, 在不可见窗口上用静态图片 控件放置用户头像、用静态文本控件放置用户 昵称和帐号,将用户头像、 用户昵称和帐号与当前主面板的绘图缩放绘制 到同一张画布上, 得到缩 略图;

所述创建缩略图工具栏包括: 当监听到任务栏按钮创建消息时, 创 建缩略图工具栏, 例如, 在 Windows 7操作系统中利用 Windows 7的 ITaskbarList3接口创建缩略图工具栏;

所述创建窗口实时预览图包括: 将当前主面板的绘图输出得到预览 图;

所述创建任务栏按钮图标包括: 当任务栏按钮不合并时, 主面板对 应的任务栏按钮图标设置为用户自定义头像;

所述创建任务栏按钮叠加状态图标包括: 当前仅登录一个用户时, 在该用户对应的任务栏按钮图标上叠加该用户 的在线状态, 例如在线、 隐身、 忙碌或离开等等, 生成任务栏按钮叠加状态图标; 当前登录多个 用户且任务栏按钮不合并时, 分别在每个用户对应的任务栏按钮图标上 叠加其对应用户的在线状态, 生成任务栏按钮叠加状态图标; 当前登录 多个用户且任务栏按钮合并时, 则不在任务栏按钮图标上叠加各个用户 的在线状态。

在主面板发生锁定状态变化、 面板大小变化、 面板隐藏状态变化、 或者面板位置变化中的一种或多种变化时, 上述步骤 103根据监听到的 窗口消息执行超级任务栏操作将进一步包括: 刷新窗口缩略图。

在这种情况下, 所述创建窗口实时预览图包括: 将所述虚拟窗口的 大小设置为与主面板相同; 同时, 对预览图偏移位置进行以下任意一种 处理: 当主面板不处于隐藏时, 将偏移位置设置为所述虚拟窗口和主面 板之间的差值; 当主面板贴边隐藏且当前处于悬浮在屏幕边缘 时, 将偏 移位置设为所述虚拟窗口和主面板之间的差值 ; 当主面板贴边隐藏且当 前不悬浮在屏幕边缘时, 将偏移位置设为所述虚拟窗口和主面板之间的 差值再加上主面板的大小;

所述创建任务栏按钮图标包括: 将头像文件在内存中转为 HICON 格式。

上述根据监听到的窗口消息执行超级任务栏操 作还包括: 生成跳转 列表, 并根据所述跳转列表中的每一项设置的快捷方 式执行相应跳转操 作。

在多个账户登录时, 所述多个账户对应的进程通过共享内存在所述 跳转列表中显示当前所有账户的即时状态。

需要说明的是, 本发明实施例中提到的超级任务栏具体为但不 限于 Windows 7任务栏, 还可以指代其他具有 Windows 7任务栏所提供功能 的任务栏, 例如本领域普通技术人员容易想到的 Windows 7的升级版本 中的任务栏。

本发明实施例二提供一种利用超级任务栏控制 即时通信软件的方 法。 本实施例中, 在超级任务栏的缩略图、 缩略图工具栏、 任务栏按钮、 任务栏按钮叠加图标、跳转列表等区域对 IM软件进行丰富的常用控制; 同时,超级任务栏的各种操作和显示入口,会 随着当前机器登录账户数、 账户状态、 操作系统任务栏相关设置项等的变化而变化。

具体的, 首先结合图 2所示 IM软件的技术层次架构对本发明实施 例二提供的方法进行介绍。当用户登录 IM软件后,ΙΜ软件中配置的 "IM 超级任务栏管理器" 通过 "任务栏缩略图及按钮控制模块" 创建虚拟窗 口, 通过虚拟窗口控制任务栏的窗口缩略图、 缩略图工具栏、 窗口实时 预览图、 任务栏按钮图标、 任务栏按钮叠加图标等操作和显示入口。 同 时, "IM超级任务栏管理器" 通过 "跳转列表模块" 根据不同场合, 生 成不同的跳转列表。 "IM超级任务栏管理器" 响应用户在任务栏区域和 跳转列表中快捷方式的操作, 实现对 IM软件的控制。 需要说明的是, 其中的 "IM超级任务栏管理器"、 "任务栏缩略图及按钮控制模块" 以 及 "跳转列表模块" 均为与特定功能对应的软件代码。

为了清楚阐明本实施例提供的利用超级任务栏 控制即时通信软件的 方法, 下面对图 2中的各功能模块进行详细介绍。

用户登录即时通信软件后,即时通信软件的" IM超级任务栏管理器" 创建虚拟窗口, 而后通过虚拟窗口监听窗口消息(例如鼠标在 任务栏图 标上悬浮), 并根据监听到的消息执行创建任务栏的窗口缩 略图、 创建 缩略图工具栏、 创建窗口实时预览图、 创建任务栏按钮图标以及创建任 务栏按钮叠加图共 6部分的操作。

如图 3所示, 通过虚拟窗口控制主面板在任务栏的表现包括 : 步骤 301 , 创建虚拟窗口。

具体的, 由任务栏缩略图及按钮控制模块创建虚拟窗口 , 将创建的 虚拟窗口设置为始终可见, 放至任意远(例如将位置设置为屏幕大小的 10倍距离), 生命期与主面板一致。

步骤 302, 在虚拟窗口的窗口过程中负责监听创建任务栏 、 缩略图 生成、 实时预览图生成、 系统设置更改等消息, 并做出相应的处理。 其中, 系统设置更改包括任务栏按钮合并方式、 "开始"菜单要显示 的最近打开过的程序的数目等。

需要指出, 使用虚拟窗口代替主面板具有以下优点:

( 1 )主面板在不同时期对应着不同窗口, 有可能是联系人主面板, 也有可能是锁定面板, 使用虚拟窗口可以统一管理多个面板(窗口 ) 的 任务栏表现;

( 2 )使用虚拟窗口可以集中处理操作系统的窗口 息, 而不需要改 变原有主面板的逻辑;

( 3 )在主面板隐藏时,通过虚拟窗口仍可以在任 栏区域对主面板 进行正常的操作。

下面依次介绍通过虚拟窗口控制任务栏的窗口 缩略图、 缩略图工具 栏、 窗口实时预览图、 任务栏按钮图标和任务栏按钮叠加图标操作, 首 先介绍通过虚拟窗口控制任务栏的窗口缩略图 操作。

在任务栏按钮合并情况下 (例如多个用户登录即时通信软件时任务 栏按钮合并), 窗口缩略图是主面板缩略图, 需要将当前主面板的绘图 输出, 并将其缩放绘制到画布上得到缩略图, 如图 4所示; 在任务栏不 合并情况下 (例如单用户登录即时通信软件时), 窗口缩略图是 "用户 头像 +昵称 +帐号" 和主面板缩略图的组合, 如图 5所示。

在任务栏按钮不合并情况下,主面板缩略图创 建的过程如图 6所示, 包括:

步骤 601 , 创建一个不可见窗口, 在此窗口上用静态图片控件放置 用户头像, 用静态文本控件放置昵称和帐号, 并将此窗口当前绘图输出 为 Hl。

步骤 602, 将主面板当前绘图输出为 H2。 步骤 603,把 HI和 H2缩放绘制到同一张画布上,得到新的缩略图 需要说明的是, 当主面板发生预先设定的一种或者多种变化时 , 需 要强制系统刷新缩略图。 该预先设定的一种或者多种变化包括锁定状态 变化、 面板大小变化、 面板隐藏状态变化和面板位置变化。 为保持主面 板缩略图和实时预览图的正确性, 又不太过频繁地刷新, 在主面板发生 上述变化时, 强制系统刷新缩略图。

创建缩略图工具栏时, 可以根据实际需求在缩略图工具栏上定制按 钮。 例如图 7所示, 缩略图工具栏支持 "锁定 IM (或解锁)"、 "退出" 按钮。 本发明实施例中, 当通过虚拟窗口探测到对应的缩略图工具栏创 建消息时, 创建缩略图工具栏(例如, 在 Windows 7 操作系统中利用 ITaskbarList3接口创建缩略图工具栏 ), 并放置锁定 IM (或解锁)和退 出两个按钮。 这里需要设置按钮的 ID, 以监听到按钮的点击消息, 在锁 定状态变化时, 对第一个按钮对应地设置锁定 IM或者解锁的图标。

窗口实时预览图的创建主要基于程序自定义, 例如在执行窗口实时 预览图的创建时, 可以直接将主面板当前绘图输出, 得到预览图。 窗口 实时预览图与系统默认保持一致, 此预览图通过程序自定义绘制, 这可 以根据后续实际的应用做扩展。 由于窗口实时预览图默认位置和默认大 小与实际窗口一致, 所以在显示预览图之前, 必须将虚拟窗口的大小设 置为与主面板一致。 另外, 需要对预览图偏移位置做一些处理, 具体的: 当主面板不处于隐藏时, 偏移位置设为虚拟窗口和主面板之间的差值; 当主面板贴边隐藏时且当前处于悬浮在屏幕边 缘, 比如鼠标移入主面板 底部, 此时将偏移位置设为虚拟窗口和主面板之间的 差值; 当主面板贴 边隐藏时且当前不悬浮在屏幕边缘, 则将偏移位置设为虚拟窗口和主面 板之间的差值, 再加上主面板的大小 (高度或者宽度)。

任务栏按钮图标的创建包括任务栏按钮合并与 不合并两种情况, 对 应后者时, 主面板对应的任务栏按钮图标设置为用户自定 义头像。 具体 的, 只需要将虚拟窗口的标题图标换为用户自定义 头像即可, 其中头像 文件必须在内存中转为 HICON格式, 同时任务栏按钮标题设置为用户 昵称与帐号的组合, 如图 8所示。

根据用户的当前状态, 在任务栏按钮上叠加状态图标, 状态包括在 线状态和锁定状态, 需要说明的是, 在任务栏按钮上叠加状态图标时, 根据任务栏按钮合并状态和本机同时登录账户 数做不同的处理: 当前仅 登录一个账户时, 不管任务栏按钮是合并还是不合并, 都为任务栏按钮 叠加状态图标, 如图 9所示; 当前登录多个账户时, 当任务栏按钮不合 并时, 为任务栏按钮叠加状态图标; 否则不叠加。 其中, 任务栏按钮的 合并状态通过读取注册表获得。 当用户动态改变合并选项时, 任务栏按 钮的合并状态可以通过响应窗口消息得到。

下面介绍本发明实施例中通过跳转列表模块创 建跳转列表的过程。 该过程需要根据同时登录账户数做不同的处理 : 当前仅登录一个账户 时, 跳转列表中包括用户在线状态设置锁定 IM、 打开主面板和退出等 快捷方式, 如图 10所示; 由于系统根据当前设置, 会对跳转列表的高 度做限制, 所以创建该跳转列表时, 需要首先动态判断 "开始" 菜单要 显示的最近打开过的程序的数目 N (如图 11所示), 如果 N能够容纳当 前所有的自定义状态, 那么就将自定义状态加到跳转列表中, 否则不添 加; 当前登录多个账户时, 跳转列表中包括当前登录的所有账户信息列 表, 点击则出现对应的主面板, 如图 12所示。

为了实现跳转列表的跳转功能, 设置跳转列表的每一项都为快捷方 式, 其格式必须是某个应用程序 +某些参数。 本发明中专门设计一个应 用程序 APP, 负责与 IM工具通信, 将快捷方式的参数传给 IM工具, 以供 IM工具根据获得的参数及配置的应用程序执行 应的跳转操作。 其中, 快捷方式的格式定义为: APP Uin CmdID Param GUID

上述快捷方式的格式中的每个参数的具体含义 如下:

Uin: 用户帐号;

CmdID: 命令 ID, 表示操作类型, 包括显示某个 IM客户端、 各种 状态、 锁定 IM、 解锁 IM、 打开主面板、 退出等;

Param: 自定义状态名称;

GUID:创建该跳转列表时附带的唯一标识,在每 重新创建跳转列 表时都会更新。

当快捷方式被点击时, 就会启动与该快捷方式对应的 APP, 然后将 参数 "Uin" , "CmdID"、 "Param" 以及 "GUID" 传递给 APP。 APP在 对各个参数进行解析之后, 将对应的操作传递给 IM工具, 从而达到控 制 IM工具的目的。 其中, 快捷方式的执行是通过 APP和 IM工具协调 进行的, 如图 13所示, 具体包括:

步骤 1301 , APP解析出各个参数;

步骤 1302,枚举正在运行的 IM软件进程找到与 Uin相一致的进程; 步骤 1303,通过 COM进程间通信接口将参数传递给 IM软件进程; 步骤 1304, IM软件进程接收到 APP传过来的参数信息;

步骤 1305, 如果 GUID合法, IM软件则执行相应的操作。

在多个账户登录时, 系统需要在跳转列表中显示当前所有账户的即 时状态。但是,现有技术中由于不同账户之间 无法得知对方的即时状态, 包括在线状态和锁定状态, 因而无法实现显示当前所有账户的即时状 态。 本发明中, 不同账户之间对应的 IM软件进程之间通过共享内存完 成进程间的信息共享, 每个账户对应的进程负责在共享内存维护自己 的 即时状态。 当某个账户状态更新时, 对应的进程都需要负责更新跳转列 表, 而其中的状态信息则从共享内存中获取。 根据当前登录账户数的不同, 任务栏叠加图标和跳转列表有不同的 表现, 而且这种变化必须是即时的。 与跳转列表快捷方式的执行相似, 任务栏叠加图标也采用了 COM接口实现进程间通信。 不同的是, 这种 通信发生在两个已经存在的 IM软件进程之间, 无需启动另外的第三方 进程。

在某个账户登录和退出时, 此账户必须对其他账户发出通知, 此时 本账户和其他账户对应的 IM软件进程都必须根据实际情况, 更新任务 栏叠加图标或者跳转列表。

下面介绍超级任务栏帮助函数模块和超级任务 栏 Api封装模块。 其 中, 超级任务栏帮助函数模块负责提供一些公用的 函数: 获取当前状态 图标路径、 生成缩略图、 获取当前系统关于任务栏设置等; 超级任务栏 Api封装模块对操作系统的 SDK Api进行封装, 提供筒明易用的接口。

通过采用本发明提供的方法, 创建与即时通信软件主面板对应的虚 拟窗口, 通过该虚拟窗口的窗口过程监听窗口消息, 根据监听到的窗口 消息执行超级任务栏操作, 实现了即时通信软件对超级任务栏的支持, 即实现了通过超级任务栏控制即时通信软件的 运行状态, 极大地提高了 用户对即时通信软件的使用体验。

本发明实施例三提供一种利用超级任务栏控制 即时通信软件的设 备, 如图 14所示, 包括:

窗口创建单元 11 , 用于创建与即时通信软件主面板对应的虚拟窗 口;

监听单元 12, 用于在所述窗口创建单元 11创建的虚拟窗口的窗口 过程中监听窗口消息;

操作执行单元 13, 用于根据所述监听单元 12监听到的窗口消息执 行超级任务栏操作。 所述超级任务栏操作包括以下一种或多种: 创建窗口缩略图、 创建 缩略图工具栏、 创建窗口实时预览图、 创建任务栏按钮图标或者创建任 务栏按钮叠加图标。

如图 15所示, 所述操作执行单元 13包括:

缩略图创建子单元 131 , 用于在任务栏按钮合并情况下, 将当前主 面板的绘图缩放绘制到画布上, 得到缩略图; 在任务栏按钮不合并情况 下, 在不可见窗口上用静态图片控件放置用户头像 、 用静态文本控件放 置用户昵称和帐号, 将用户头像、 用户昵称和帐号与主面板当前绘图绘 制到同一张画布上, 得到缩略图; 和 /或

缩略图工具栏创建子单元 132, 用于在监听到任务栏按钮创建消息 时, 创建缩略图工具栏; 和 /或

窗口实时预览图创建子单元 133 , 用于将主面板当前绘图输出得到 预览图; 和 /或

任务栏按钮图标创建子单元 134, 用于当任务栏按钮不合并时, 主 面板对应的任务栏按钮图标设置为用户自定义 头像; 和 /或

任务栏按钮叠加状态图标创建子单元 135 , 用于当前仅登录一个用 户时, 为任务栏按钮叠加状态图标; 当前登录多个用户时, 若任务栏按 钮不合并, 为任务栏按钮叠加状态图标; 否则不叠加。

所述缩略图创建子单元 131还用于: 在主面板发生锁定状态变化、 面板大小变化、 面板隐藏状态变化、 或者面板位置变化中的一种或多种 变化时, 刷新窗口缩略图;

所述窗口实时预览图创建子单元 133还用于: 将所述虚拟窗口的大 小设置为与主面板相同; 对预览图偏移位置进行以下一种或者多种处 理: 当主面板不处于隐藏时, 偏移位置为所述虚拟窗口和主面板之间的 差值; 当主面板贴边隐藏、 且当前处于悬浮在屏幕边缘时, 将偏移位置 设为所述虚拟窗口和主面板之间的差值; 当主面板贴边隐藏、 且当前不 悬浮在屏幕边缘时, 将偏移位置设为所述虚拟窗口和主面板之间的 差值 再加上主面板的大小;

所述任务栏按钮图标创建子单元 134还用于: 将头像文件在内存中 转为 HICON格式。

所述操作执行单元 13还包括:

跳转列表子单元 136, 用于根据监听到的窗口消息生成跳转列表, 根据所述跳转列表中的每一项设置的快捷方式 执行相应跳转操作。

所述跳转列表子单元 136还用于在多个账户登录时, 通过所述多个 账户对应的进程共享内存在所述跳转列表中显 示当前所有账户的即时 状态。

通过采用本发明提供的设备, 创建与即时通信软件主面板对应的虚 拟窗口, 通过该虚拟窗口的窗口过程监听窗口消息, 根据监听到的窗口 消息执行超级任务栏操作, 实现了即时通信软件对超级任务栏的支持, 即实现了通过超级任务栏控制即时通信软件的 运行状态, 极大地提高了 用户对即时通信软件的使用体验。

通过以上的实施方式的描述, 本领域的技术人员可以清楚地了解到 本发明可借助软件加必需的通用硬件平台的方 式来实现, 当然也可以通 过硬件, 但很多情况下前者是更佳的实施方式。 基于这样的理解, 本发 明的技术方案本质上或者说对现有技术做出贡 献的部分可以以软件产 品的形式体现出来, 该计算机软件产品存储在一个存储介质中, 包括若 干指令用以使得一台计算机设备(可以是个人 计算机, 服务器, 或者网 络设备等)执行本发明各个实施例所述的方法 。

本领域技术人员可以理解附图只是一个优选实 施例的示意图, 附图 中的模块或流程并不一定是实施本发明所必须 的。 本领域技术人员可以理解实施例中的装置中的 模块可以按照实施例 描述进行分布于实施例的装置中, 也可以进行相应变化位于不同于本实 施例的一个或多个装置中。 上述实施例的模块可以合并为一个模块, 也 可以进一步拆分成多个子模块。

上述本发明实施例序号仅仅为了描述, 不代表实施例的优劣。 以上公开的仅为本发明的几个具体实施例, 但是, 本发明并非局限 于此, 任何本领域的技术人员能思之的变化都应落入 本发明的保护范 围。