CN102236510B - 一种利用超级任务栏控制即时通信软件的方法及设备 - Google Patents

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

Info

Publication number
CN102236510B
CN102236510B CN201010160438.8A CN201010160438A CN102236510B CN 102236510 B CN102236510 B CN 102236510B CN 201010160438 A CN201010160438 A CN 201010160438A CN 102236510 B CN102236510 B CN 102236510B
Authority
CN
China
Prior art keywords
window
main panel
taskbar
thumbnail
button
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.)
Active
Application number
CN201010160438.8A
Other languages
English (en)
Other versions
CN102236510A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201010160438.8A priority Critical patent/CN102236510B/zh
Priority to PCT/CN2011/071049 priority patent/WO2011134299A1/zh
Publication of CN102236510A publication Critical patent/CN102236510A/zh
Application granted granted Critical
Publication of CN102236510B publication Critical patent/CN102236510B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Data Mining & Analysis (AREA)
  • Economics (AREA)
  • Computer Hardware Design (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明公开了一种利用超级任务栏控制即时通信软件的方法及设备,包括:创建与即时通信软件主面板对应的虚拟窗口;在所述虚拟窗口的窗口过程中监听窗口消息,并根据监听到的窗口消息执行超级任务栏操作。本发明中,创建与即时通信软件主面板对应的虚拟窗口,通过该虚拟窗口的窗口过程监听窗口消息,根据监听到的窗口消息执行超级任务栏操作,实现了即时通信软件对超级任务栏的支持,即实现了通过超级任务栏控制即时通信软件的运行状态,极大地提高了用户对即时通信软件的使用体验。

Description

一种利用超级任务栏控制即时通信软件的方法及设备
技术领域
本发明涉及通信领域,尤其涉及一种利用超级任务栏控制即时通信软件的方法及设备。
背景技术
Windows7是微软公司推出的新一代操作系统,其提供的新特性越来越受到关注,尤其是Windows7的任务栏。Windows7任务栏支持程序自定义窗口缩略图、缩略图工具栏、窗口实时预览图、任务栏按钮图标、任务栏按钮叠加状态图标、跳转列表(JumpList),从而使通过任务栏对程序运行进行控制成为现实。由于Windows7任务栏的强大功能,现有技术中将具有这种功能的任务栏称为超级任务栏(Superbar)。
IM(InstantMessaging,即时通信)网络工具发展到今天,已经成为网络用户必不可少的软件工具,IM工具可以通过点对点的技术来实现互联网上的即时沟通,该项技术还支持多个终端共同参与同一会话。
对于IM工具,如果可以支持Windows7,即通过Windows7任务栏控制即时通信软件,则能够极大提高用户体验,但是,现有技术中尚未提供通过Windows7任务栏控制即时通信软件的技术方案。
发明内容
本发明提供了一种利用超级任务栏控制即时通信软件的方法,实现通过Windows7任务栏实现对即时通信软件的高效控制。
本发明提供了一种利用超级任务栏控制即时通信软件的方法,包括:
创建与即时通信软件主面板对应的虚拟窗口;
在所述虚拟窗口的窗口过程中监听窗口消息,并根据监听到的窗口消息执行超级任务栏操作。
所述超级任务栏操作包括以下一种或多种:
创建窗口缩略图、创建缩略图工具栏、创建窗口实时预览图、创建任务栏按钮图标和创建任务栏按钮叠加状态图标。
所述创建窗口缩略图包括:在任务栏按钮合并情况下,将当前主面板的绘图缩放绘制到画布上,得到缩略图;在任务栏按钮不合并情况下,在不可见窗口上用静态图片控件放置用户头像、用静态文本控件放置用户昵称和帐号,将用户头像、用户昵称和帐号与主面板当前绘图绘制到同一张画布上,得到缩略图;
所述创建缩略图工具栏包括:当监听到任务栏按钮创建消息时,利用Windows7的ITaskbarList3接口创建缩略图工具栏;
所述创建窗口实时预览图包括:将主面板当前绘图输出得到预览图;
所述创建任务栏按钮图标包括:当任务栏按钮不合并时,主面板对应的任务栏按钮图标设置为用户自定义头像;
所述创建任务栏按钮叠加状态图标包括:当前仅登录一个用户时,为任务栏按钮叠加状态图标;当前登录多个用户时,若任务栏按钮不合并,为任务栏按钮叠加状态图标;否则不叠加。
在主面板发生以下一种或多种变化时,刷新窗口缩略图:锁定状态变化、面板大小变化、面板隐藏状态变化、或者面板位置变化;
所述创建窗口实时预览图包括:将所述虚拟窗口的大小设置为与主面板相同;对预览图偏移位置进行以下一种或者多种处理:当主面板不处于隐藏时,偏移位置为所述虚拟窗口和主面板之间的差值;当主面板贴边隐藏、且当前处于悬浮在屏幕边缘时,将偏移位置设为所述虚拟窗口和主面板之间的差值;当主面板贴边隐藏、且当前不悬浮在屏幕边缘时,将偏移位置设为所述虚拟窗口和主面板之间的差值再加上主面板的大小;
所述创建任务栏按钮图标包括:将头像文件在内存中转为HICON格式。
根据监听到的窗口消息执行超级任务栏操作还包括:
生成跳转列表,
根据所述跳转列表中的每一项设置的快捷方式执行相应跳转操作。
在多个账户登录时,所述多个账户对应的进程通过共享内存在所述跳转列表中显示当前所有账户的即时状态。
本发明提供一种利用超级任务栏控制即时通信软件的设备,包括:
窗口创建单元,用于创建与即时通信软件主面板对应的虚拟窗口;
监听单元,用于在所述窗口创建单元创建的虚拟窗口的窗口过程中监听窗口消息;
操作执行单元,用于根据所述监听单元监听到的窗口消息执行超级任务栏操作。
所述超级任务栏操作包括以下一种或多种:
创建窗口缩略图、创建缩略图工具栏、创建窗口实时预览图、创建任务栏按钮图标和创建任务栏按钮叠加状态图标。
所述操作执行单元包括:
缩略图创建子单元,用于在任务栏按钮合并情况下,将当前主面板的绘图缩放绘制到画布上,得到缩略图;在任务栏按钮不合并情况下,在不可见窗口上用静态图片控件放置用户头像、用静态文本控件放置用户昵称和帐号,将用户头像、用户昵称和帐号与主面板当前绘图绘制到同一张画布上,得到缩略图;
缩略图工具栏创建子单元,用于利用Windows7的ITaskbarList3接口创建缩略图工具栏;
窗口实时预览图创建子单元,用于将主面板当前绘图输出得到预览图;
任务栏按钮图标创建子单元,用于当任务栏按钮不合并时,主面板对应的任务栏按钮图标设置为用户自定义头像;
任务栏按钮叠加状态图标创建子单元,用于当前仅登录一个用户时,为任务栏按钮叠加状态图标;当前登录多个用户时,若任务栏按钮不合并,为任务栏按钮叠加状态图标;否则不叠加。
所述缩略图创建子单元还用于:在主面板发生以下一种或多种变化时,刷新窗口缩略图:锁定状态变化、面板大小变化、面板隐藏状态变化、或者面板位置变化;
所述窗口实时预览图创建子单元还用于:将所述虚拟窗口的大小设置为与主面板相同;对预览图偏移位置进行以下一种或者多种处理:当主面板不处于隐藏时,偏移位置为所述虚拟窗口和主面板之间的差值;当主面板贴边隐藏、且当前处于悬浮在屏幕边缘时,将偏移位置设为所述虚拟窗口和主面板之间的差值;当主面板贴边隐藏、且当前不悬浮在屏幕边缘时,将偏移位置设为所述虚拟窗口和主面板之间的差值再加上主面板的大小;
所述任务栏按钮图标创建子单元还用于:将头像文件在内存中转为HICON格式。
所述操作执行单元还包括:
跳转列表单元,用于根据监听到的窗口消息生成跳转列表,根据所述跳转列表中的每一项设置的快捷方式执行相应跳转操作。
所述跳转列表单元还用于:
在多个账户登录时,通过所述多个账户对应的进程共享内存在所述跳转列表中显示当前所有账户的即时状态。
与现有技术相比,本发明至少具有以下优点:
本发明中,创建与即时通信软件主面板对应的虚拟窗口,通过该虚拟窗口的窗口过程监听窗口消息,根据监听到的窗口消息执行超级任务栏操作,实现了即时通信软件对超级任务栏的支持,即实现了通过超级任务栏控制即时通信软件的运行状态,极大地提高了用户对即时通信软件的使用体验。
附图说明
图1是本发明实施例一提供的利用超级任务栏控制即时通信软件的方法示意图;
图2是本发明实施例二提供的IM软件的技术层次架构示意图;
图3是本发明实施例二中通过虚拟窗口控制主面板在任务栏的表现示意图;
图4是本发明实施例二中在任务栏按钮合并情况下窗口缩略图示意图;
图5是本发明实施例二中在任务栏按钮不合并情况下窗口缩略图示意图;
图6是本发明实施例二中在任务栏不合并情况下主面板缩略图创建的过程示意图;
图7是本发明实施例二中缩略图工具栏示意图;
图8是本发明实施例二中任务栏按钮图标示意图;
图9是本发明实施例二中任务栏按钮叠加状态图标示意图;
图10~12是本发明实施例二中跳转列表图标示意图;
图13是本发明实施例二中快捷方式的执行过程示意图;
图14是本发明实施例三提供的利用超级任务栏控制即时通信软件的设备的结构示意图;
图15是本发明实施例三提供的利用超级任务栏控制即时通信软件的设备中操作执行单元的结构示意图。
具体实施方式
本发明实施例一提供了一种利用超级任务栏控制即时通信软件的方法,如图1所示,包括:
步骤101,创建与即时通信软件主面板对应的虚拟窗口;
步骤102,在所述虚拟窗口的窗口过程中监听窗口消息,并根据监听到的窗口消息执行超级任务栏操作。
所述超级任务栏操作包括以下一种或多种:
创建窗口缩略图、创建缩略图工具栏、创建窗口实时预览图、创建任务栏按钮图标或者创建任务栏按钮叠加状态图标。
所述创建窗口缩略图包括:在任务栏按钮合并情况下,将当前主面板的绘图缩放绘制到画布上,得到缩略图;在任务栏按钮不合并情况下,在不可见窗口上用静态图片控件放置用户头像、用静态文本控件放置用户昵称和帐号,将用户头像、用户昵称和帐号与主面板当前绘图绘制到同一张画布上,得到缩略图;
所述创建缩略图工具栏包括:当监听到任务栏按钮创建消息时,利用Windows7的ITaskbarList3接口创建缩略图工具栏;
所述创建窗口实时预览图包括:将主面板当前绘图输出得到预览图;
所述创建任务栏按钮图标包括:当任务栏按钮不合并时,主面板对应的任务栏按钮图标设置为用户自定义头像;
所述任务栏按钮叠加状态图标包括:当前仅登录一个用户时,为任务栏按钮叠加状态图标;当前登录多个用户时,若任务栏按钮不合并,为任务栏按钮叠加状态图标;否则不叠加。
在主面板发生以下一种或多种变化时,刷新窗口缩略图:锁定状态变化、面板大小变化、面板隐藏状态变化、或者面板位置变化;
所述创建窗口实时预览图包括:将所述虚拟窗口的大小设置为与主面板相同;对预览图偏移位置进行以下一种或者多种处理:当主面板不处于隐藏时,偏移位置为所述虚拟窗口和主面板之间的差值;当主面板贴边隐藏、且当前处于悬浮在屏幕边缘时,将偏移位置设为所述虚拟窗口和主面板之间的差值;当主面板贴边隐藏、且当前不悬浮在屏幕边缘时,将偏移位置设为所述虚拟窗口和主面板之间的差值再加上主面板的大小;
所述创建任务栏按钮图标包括:将头像文件在内存中转为HICON格式。
根据监听到的窗口消息执行超级任务栏操作还包括:
生成跳转列表,
根据所述跳转列表中的每一项设置的快捷方式执行相应跳转操作。
在多个账户登录时,所述多个账户对应的进程通过共享内存在所述跳转列表中显示当前所有账户的即时状态。
需要说明的是,本发明实施例中提到的超级任务栏具体为但不限于Windows7任务栏,还可以指代其他具有Windows7任务栏所提供功能的任务栏,例如本领域普通技术人员容易想到的Windows7的升级版本中的任务栏。
本发明实施例二提供一种利用超级任务栏控制即时通信软件的方法。该实施例中的超级任务栏以Windows7任务栏为例进行介绍。本实施例中,在Windows7任务栏的缩略图、缩略图工具栏、任务栏按钮、任务栏按钮叠加状态图标、跳转列表等区域对IM软件进行丰富的常用控制;同时,Windows7任务栏的各种操作和显示入口,会随着当前机器登录账户数、账户状态、操作系统任务栏相关设置项等的变化而变化。
具体的,首先结合图2所示IM软件的技术层次架构对本发明实施例二提供的方法进行介绍。当用户登录IM软件后,IM软件中配置的“IMWindows7任务栏管理器”通过“任务栏缩略图及按钮控制模块”创建虚拟窗口(Win7TaskWindow),通过Win7TaskWindow控制任务栏的窗口缩略图、缩略图工具栏、窗口实时预览图、任务栏按钮图标、任务栏按钮叠加状态图标等操作和显示入口。同时,“IMWindows7任务栏管理器”通过“跳转列表模块”根据不同场合,生成不同的跳转列表。“IMWindows7任务栏管理器”响应用户在任务栏区域和跳转列表中快捷方式的操作,实现对IM软件的控制。需要说明的是,其中的“IMWindows7任务栏管理器”、“任务栏缩略图及按钮控制模块”以及“跳转列表模块”均为与特定功能对应的软件代码。
为了清楚阐明本实施例提供的利用Windows7任务栏控制即时通信软件的方法,下面对图2中的各功能模块进行详细介绍。
用户登录即时通信软件后,即时通信软件的“IMWindows7任务栏管理器”创建Win7TaskWindow,而后通过Win7TaskWindow监听窗口消息(例如鼠标在任务栏图标上悬浮),并根据监听到的消息执行创建任务栏的窗口缩略图、缩略图工具栏、窗口实时预览图、任务栏按钮图标以及任务栏按钮叠加图共6部分的操作。
如图3所示,通过虚拟窗口控制主面板在任务栏的表现包括:
步骤301,创建Win7TaskWindow。
具体的,任务栏缩略图及按钮控制模块创建虚拟窗口,将创建的Win7TaskWindow设置为始终可见,放至任意远(例如将位置设置为屏幕大小的10倍距离),生命期与主面板一致。
步骤302,在Win7TaskWindow的窗口过程中负责监听创建任务栏、缩略图生成、实时预览图生成、系统设置更改等消息,并做出相应的处理。
其中,系统设置更改包括任务栏按钮合并方式、“开始”菜单要显示的最近打开过的程序的数目等。在创建任一窗口时,需要创建该窗口的窗口函数,Win7TaskWindow的窗口过程即为Win7TaskWindow的窗口函数中设置的一种功能。
需要指出,使用Win7TaskWindow代替主面板具有以下优点:
(1)主面板在不同时期对应着不同窗口,有可能是联系人主面板,也有可能是锁定面板,使用Win7TaskWindow可以统一管理多个面板(窗口)的任务栏表现;
(2)使用Win7TaskWindow可以集中处理Windows7的窗口消息,而不需要改变原有主面板的逻辑;
(3)在主面板隐藏时,通过Win7TaskWindow仍可以在任务栏区域对主面板进行正常的操作。
下面依次介绍通过Win7TaskWindow控制任务栏的窗口缩略图、缩略图工具栏、窗口实时预览图、任务栏按钮图标和任务栏按钮叠加状态图标操作,首先介绍通过Win7TaskWindow控制任务栏的窗口缩略图操作。
在任务栏按钮合并情况下(例如多个用户登录即时通信软件时任务栏按钮合并),窗口缩略图是主面板缩略图,需要将当前主面板的绘图输出,并将其缩放绘制到画布上得到缩略图,如图4所示;在任务栏不合并情况下(例如单用户登录即时通信软件时),窗口缩略图是“用户头像+昵称+帐号”和主面板缩略图的组合,如图5所示。
在任务栏不合并情况下,主面板缩略图创建的过程如图6所示,包括:
步骤601,创建一个不可见窗口,在此窗口上用静态图片控件放置用户头像,用静态文本控件放置昵称和帐号,将此窗口当前绘图输出为H1。
步骤602,将主面板当前绘图输出为H2。
步骤603,把H1和H2缩放绘制到同一张画布上,得到新的缩略图。
需要说明的是,当主面板发生预先设定的一种或者多种变化时,需要强制系统刷新缩略图。该预先设定的一种或者多种变化包括锁定状态变化、面板大小变化、面板隐藏状态变化和面板位置变化。为保持主面板缩略图和实时预览图的正确性,又不太过频繁地刷新,在主面板发生上述变化时,强制系统刷新缩略图。
创建缩略图工具栏时,可以根据实际需求在缩略图工具栏上定制按钮。例如图7所示,缩略图工具栏支持“锁定IM(或解锁)”、“退出”按钮。本发明实施例中,当通过Win7TaskWindow探测到对应的缩略图工具栏创建消息时,系统利用Windows7的ITaskbarList3接口创建缩略图工具栏,并放置锁定IM(或解锁)和退出两个按钮。这里需要设置按钮的ID,以监听到按钮的点击消息,在锁定状态变化时,对第一个按钮对应地设置锁定IM或者解锁的图标。
窗口实时预览图的创建主要基于程序自定义,例如在执行窗口实时预览图的创建时,可以直接将主面板当前绘图输出,得到预览图。窗口实时预览图与系统默认保持一致,此预览图通过程序自定义绘制,这可以根据后续实际的应用做扩展。由于窗口实时预览图默认位置和默认大小与实际窗口一致,所以在显示预览图之前,必须将Win7TaskWindow的大小设置为与主面板一致。另外,需要对预览图偏移位置做一些处理,具体的:当主面板不处于隐藏时,偏移位置设为Win7TaskWindow和主面板之间的差值;当主面板贴边隐藏时,且当前处于悬浮在屏幕边缘,比如鼠标移入主面板底部,此时将偏移位置设为Win7TaskWindow和主面板之间的差值;当主面板贴边隐藏时,且当前不悬浮在屏幕边缘,则将偏移位置设为Win7TaskWindow和主面板之间的差值,再加上主面板的大小(高度或者宽度)。
任务栏按钮图标的创建包括任务栏按钮合并与不合并两种情况,对应后者时,主面板对应的任务栏按钮图标设置为用户自定义头像。具体的,只需要将Win7TaskWindow的标题图标换为用户自定义头像即可,其中头像文件必须在内存中转为HICON格式,同时任务栏按钮标题设置为用户昵称与帐号的组合,如图8所示。
根据用户的当前状态,在任务栏按钮上叠加状态图标,状态包括在线状态和锁定状态,需要说明的是,在任务栏按钮上叠加状态图标时,根据任务栏按钮合并状态和本机同时登录账户数做不同的处理:
当前仅登录一个账户时,不管任务栏按钮是合并还是不合并,都为任务栏按钮叠加状态图标,如图9所示;
当前登录多个账户时,当任务栏按钮不合并时,为任务栏按钮叠加状态图标;否则不叠加。其中,任务栏按钮的合并状态通过读取注册表获得:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\TaskbarGlomLevel。当用户动态改变合并选项时,任务栏按钮的合并状态可以通过响应Windows消息得到。
下面介绍本发明实施例中通过跳转列表模块创建跳转列表的过程。该过程需要根据同时登录账户数做不同的处理:
当前仅登录一个账户时,跳转列表中包括用户在线状态设置锁定IM、打开主面板和退出等快捷方式,如图10所示;由于系统根据当前设置,会对跳转列表的高度做限制,所以创建该跳转列表时,需要首先动态判断“开始”菜单要显示的最近打开过的程序的数目N(如图11所示),如果N能够容纳当前所有的自定义状态,那么就将自定义状态加到跳转列表中,否则不添加;
当前登录多个账户时,跳转列表中包括当前登录的所有账户信息列表,点击则出现对应的主面板,如图12所示。
为了实现跳转列表的跳转功能,设置跳转列表的每一项都为快捷方式,其格式必须是某个应用程序+某些参数。本发明中专门设计一个应用程序APP,负责与IM工具通信,将快捷方式的参数传给IM工具,以供IM工具根据获得的参数及配置的应用程序执行相应的跳转操作。其中,快捷方式的格式定义为:
APPUinCmdIDParamGUID
上述快捷方式的格式中的每个参数的具体含义如下:
Uin:用户帐号;
CmdID:命令ID,表示操作类型,包括各种状态、锁定IM、打开主面板、退出等;
Param:自定义状态名称;
GUID:创建该跳转列表时附带的唯一标识,在每次重新创建跳转列表时都会更新。
其中,CmdID定义如下:
enumJumpListCmdID
{
//多个账户时
JumpList_SHOWIM=0,
//状态列表
JumpList_AVAILABLE,
JumpList_QME,
JumpList_AWAY,
JumpList_BUSY,
JumpList_NODISTURBANCE,
JumpList_INVISIBLE,
JumpList_OFFLINE,
//其他任务
JumpList_OPENMAINFRAME,
JumpList_LOCKIM,
JumpList_UNLOCKIM,
JumpList_EXITIM
}。
快捷方式的执行通过APP和IM工具协调进行,如图13所示,包括:
步骤1301,APP解析出各个参数。
步骤1302,枚举正在运行的IM软件进程,找到与Uin相一致的进程;
步骤1303,通过COM进程间通信接口,将参数传递给IM软件进程;
步骤1304,IM软件进程接收到APP传过来的参数信息;
步骤1305,如果GUID合法,IM软件则执行相应的操作。
在多个账户登录时,系统需要在跳转列表中显示当前所有账户的即时状态。但是,现有技术中由于不同账户之间无法得知对方的即时状态,包括在线状态和锁定状态,因而无法实现显示当前所有账户的即时状态。本发明中,不同账户之间对应的IM软件进程之间通过共享内存完成进程间的信息共享,每个账户对应的进程负责在共享内存维护自己的即时状态。当某个账户状态更新时,对应的进程都需要负责更新跳转列表,而其中的状态信息则从共享内存中获取。
根据当前登录账户数的不同,任务栏叠加状态图标和跳转列表有不同的表现,而且这种变化必须是即时的。与跳转列表快捷方式的执行相似,任务栏叠加状态图标也采用了COM接口实现进程间通信。不同的是,这种通信发生在两个已经存在的IM软件进程之间,无需启动另外的第三方进程。
在某个账户登录和退出时,此账户必须对其他账户发出通知,此时本账户和其他账户对应的IM软件进程都必须根据实际情况,更新任务栏叠加状态图标或者跳转列表。
下面介绍Windows7任务栏帮助函数模块和Windows7任务栏Api封装模块。其中,Windows7任务栏帮助函数模块负责提供一些公用的函数:获取当前状态图标路径、生成缩略图、获取当前系统关于任务栏设置等;Windows7任务栏Api封装模块对Windows7SDKApi进行封装,提供简明易用的接口。
通过采用本发明提供的方法,创建与即时通信软件主面板对应的虚拟窗口,通过该虚拟窗口的窗口过程监听窗口消息,根据监听到的窗口消息执行Windows7任务栏操作,实现了即时通信软件对Windows7任务栏的支持,即实现了通过Windows7任务栏控制即时通信软件的运行状态,极大地提高了用户对即时通信软件的使用体验。
本发明实施例三提供一种利用超级任务栏控制即时通信软件的设备,如图14所示,包括:
窗口创建单元11,用于创建与即时通信软件主面板对应的虚拟窗口;
监听单元12,用于在所述窗口创建单元11创建的虚拟窗口的窗口过程中监听窗口消息;
操作执行单元13,用于根据所述监听单元12监听到的窗口消息执行超级任务栏操作。
所述超级任务栏操作包括以下一种或多种:
创建窗口缩略图、创建缩略图工具栏、创建窗口实时预览图、创建任务栏按钮图标或者创建任务栏按钮叠加状态图标。
如图15所示,所述操作执行单元13包括:
缩略图创建子单元131,用于在任务栏按钮合并情况下,将当前主面板的绘图缩放绘制到画布上,得到缩略图;在任务栏按钮不合并情况下,在不可见窗口上用静态图片控件放置用户头像、用静态文本控件放置用户昵称和帐号,将用户头像、用户昵称和帐号与主面板当前绘图绘制到同一张画布上,得到缩略图;
缩略图工具栏创建子单元132,用于利用Windows7的ITaskbarList3接口创建缩略图工具栏;
窗口实时预览图创建子单元133,用于将主面板当前绘图输出得到预览图;
任务栏按钮图标创建子单元134,用于当任务栏按钮不合并时,主面板对应的任务栏按钮图标设置为用户自定义头像;
任务栏按钮叠加状态图标创建子单元135,用于当前仅登录一个用户时,为任务栏按钮叠加状态图标;当前登录多个用户时,若任务栏按钮不合并,为任务栏按钮叠加状态图标;否则不叠加。
所述缩略图创建子单元131还用于:在主面板发生以下一种或多种变化时,刷新窗口缩略图:锁定状态变化、面板大小变化、面板隐藏状态变化、或者面板位置变化;
所述窗口实时预览图创建子单元133还用于:将所述虚拟窗口的大小设置为与主面板相同;对预览图偏移位置进行以下一种或者多种处理:当主面板不处于隐藏时,偏移位置为所述虚拟窗口和主面板之间的差值;当主面板贴边隐藏、且当前处于悬浮在屏幕边缘时,将偏移位置设为所述虚拟窗口和主面板之间的差值;当主面板贴边隐藏、且当前不悬浮在屏幕边缘时,将偏移位置设为所述虚拟窗口和主面板之间的差值再加上主面板的大小;
所述任务栏按钮图标创建子单元134还用于:将头像文件在内存中转为HICON格式。
所述操作执行单元13还包括:
跳转列表子单元136,用于根据监听到的窗口消息生成跳转列表,根据所述跳转列表中的每一项设置的快捷方式执行相应跳转操作。
所述跳转列表子单元136还用于:
在多个账户登录时,通过所述多个账户对应的进程共享内存在所述跳转列表中显示当前所有账户的即时状态。
通过采用本发明提供的设备,创建与即时通信软件主面板对应的虚拟窗口,通过该虚拟窗口的窗口过程监听窗口消息,根据监听到的窗口消息执行超级任务栏操作,实现了即时通信软件对超级任务栏的支持,即实现了通过超级任务栏控制即时通信软件的运行状态,极大地提高了用户对即时通信软件的使用体验。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。

Claims (8)

1.一种利用超级任务栏控制即时通信软件的方法,其特征在于,包括:
创建与即时通信软件主面板对应的虚拟窗口;
在所述虚拟窗口的窗口过程中监听窗口消息;以及
根据监听到的窗口消息执行超级任务栏操作;
其中,所述超级任务栏操作包括以下一种或多种操作:创建窗口缩略图、创建缩略图工具栏、创建窗口实时预览图、创建任务栏按钮图标或者创建任务栏按钮叠加状态图标;
所述创建窗口缩略图包括:在任务栏按钮合并情况下,将当前主面板的绘图缩放绘制到画布上,得到缩略图;在任务栏按钮不合并情况下,在不可见窗口上用静态图片控件放置用户头像、用静态文本控件放置用户昵称和账号,将用户头像、用户昵称和账号与主面板当前绘图绘制到同一张画布上,得到缩略图;
所述创建缩略图工具栏包括:当监听到任务栏按钮创建消息时,利用Windows7的ITaskbarList3接口创建缩略图工具栏;
所述创建窗口实时预览图包括:将主面板当前绘图输出得到预览图;
所述创建任务栏按钮图标包括:当任务栏按钮不合并时,主面板对应的任务栏按钮图标设置为用户自定义头像;
所述创建任务栏按钮叠加状态图标包括:当前仅登录一个用户时,为任务栏按钮叠加状态图标;当前登录多个用户时,若任务栏按钮不合并,为任务栏按钮叠加状态图标;否则不叠加。
2.如权利要求1所述的方法,其特征在于,
在主面板发生以下一种或多种变化时,刷新窗口缩略图:锁定状态变化、面板大小变化、面板隐藏状态变化、或者面板位置变化;
所述创建窗口实时预览图包括:将所述虚拟窗口的大小设置为与主面板相同;对预览图偏移位置进行以下一种或者多种处理:当主面板不处于隐藏时,偏移位置为所述虚拟窗口和主面板之间的差值;当主面板贴边隐藏、且当前处于悬浮在屏幕边缘时,将偏移位置设为所述虚拟窗口和主面板之间的差值;当主面板贴边隐藏、且当前不悬浮在屏幕边缘时,将偏移位置设为所述虚拟窗口和主面板之间的差值再加上主面板的大小;
所述创建任务栏按钮图标包括:将头像文件在内存中转为HICON格式。
3.如权利要求1或2所述的方法,其特征在于,根据监听到的窗口消息执行超级任务栏操作还包括:
生成跳转列表;
根据所述跳转列表中的每一项设置的快捷方式执行相应跳转操作。
4.如权利要求3所述的方法,其特征在于,在多个账户登录时,所述多个账户对应的进程通过共享内存在所述跳转列表中显示当前所有账户的即时状态。
5.一种利用超级任务栏控制即时通信软件的设备,其特征在于,包括:
窗口创建单元,用于创建与即时通信软件主面板对应的虚拟窗口;
监听单元,用于在所述窗口创建单元创建的虚拟窗口的窗口过程中监听窗口消息;
操作执行单元,用于根据所述监听单元监听到的窗口消息执行超级任务栏操作;
其中,所述超级任务栏操作包括以下一种或多种:创建窗口缩略图、创建缩略图工具栏、创建窗口实时预览图、创建任务栏按钮图标或者创建任务栏按钮叠加状态图标,则所述操作执行单元包括:
缩略图创建子单元,用于在任务栏按钮合并情况下,将当前主面板的绘图缩放绘制到画布上,得到缩略图;在任务栏按钮不合并情况下,在不可见窗口上用静态图片控件放置用户头像、用静态文本控件放置用户昵称和账号,将用户头像、用户昵称和账号与主面板当前绘图绘制到同一张画布上,得到缩略图;
缩略图工具栏创建子单元,用于利用Windows7的ITaskbarList3接口创建缩略图工具栏;
窗口实时预览图创建子单元,用于将主面板当前绘图输出得到预览图;
任务栏按钮图标创建子单元,用于当任务栏按钮不合并时,主面板对应的任务栏按钮图标设置为用户自定义头像;
任务栏按钮叠加状态图标创建子单元,用于当前仅登录一个用户时,为任务栏按钮叠加状态图标;当前登录多个用户时,若任务栏按钮不合并,为任务栏按钮叠加状态图标;否则不叠加。
6.如权利要求5所述的设备,其特征在于,
所述缩略图创建子单元还用于:在主面板发生以下一种或多种变化时,刷新窗口缩略图:锁定状态变化、面板大小变化、面板隐藏状态变化、或者面板位置变化;
所述窗口实时预览图创建子单元还用于:将所述虚拟窗口的大小设置为与主面板相同;对预览图偏移位置进行以下一种或者多种处理:当主面板不处于隐藏时,偏移位置为所述虚拟窗口和主面板之间的差值;当主面板贴边隐藏、且当前处于悬浮在屏幕边缘时,将偏移位置设为所述虚拟窗口和主面板之间的差值;当主面板贴边隐藏、且当前不悬浮在屏幕边缘时,将偏移位置设为所述虚拟窗口和主面板之间的差值再加上主面板的大小;
所述任务栏按钮图标创建子单元还用于:将头像文件在内存中转为HICON格式。
7.如权利要求5或6所述的设备,其特征在于,所述操作执行单元还包括:
跳转列表子单元,用于根据监听到的窗口消息生成跳转列表,根据所述跳转列表中的每一项设置的快捷方式执行相应跳转操作。
8.如权利要求7所述的设备,其特征在于,所述跳转列表子单元还用于:
在多个账户登录时,通过所述多个账户对应的进程共享内存在所述跳转列表中显示当前所有账户的即时状态。
CN201010160438.8A 2010-04-30 2010-04-30 一种利用超级任务栏控制即时通信软件的方法及设备 Active CN102236510B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201010160438.8A CN102236510B (zh) 2010-04-30 2010-04-30 一种利用超级任务栏控制即时通信软件的方法及设备
PCT/CN2011/071049 WO2011134299A1 (zh) 2010-04-30 2011-02-17 一种利用超级任务栏控制即时通信软件的方法及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010160438.8A CN102236510B (zh) 2010-04-30 2010-04-30 一种利用超级任务栏控制即时通信软件的方法及设备

Publications (2)

Publication Number Publication Date
CN102236510A CN102236510A (zh) 2011-11-09
CN102236510B true CN102236510B (zh) 2016-01-06

Family

ID=44860828

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010160438.8A Active CN102236510B (zh) 2010-04-30 2010-04-30 一种利用超级任务栏控制即时通信软件的方法及设备

Country Status (2)

Country Link
CN (1) CN102236510B (zh)
WO (1) WO2011134299A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102520873A (zh) * 2011-12-29 2012-06-27 汉王科技股份有限公司 主屏界面下创建图标显示区域的方法及装置
CN102855051A (zh) * 2012-08-15 2013-01-02 中兴通讯股份有限公司 应用的快捷方式的处理方法及装置
CN113760569B (zh) * 2021-01-06 2024-04-05 北京沃东天骏信息技术有限公司 一种多账号管理方法和系统
CN112835665A (zh) * 2021-02-03 2021-05-25 广东中兴新支点技术有限公司 任务栏应用的动态预览方法、系统、装置及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1786906A (zh) * 2004-12-08 2006-06-14 微软公司 任务栏按钮界面域的方法和系统
CN1851641A (zh) * 2005-09-28 2006-10-25 华为技术有限公司 嵌入式设备用户界面的实现方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7426697B2 (en) * 2005-01-18 2008-09-16 Microsoft Corporation Multi-application tabbing system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1786906A (zh) * 2004-12-08 2006-06-14 微软公司 任务栏按钮界面域的方法和系统
CN1851641A (zh) * 2005-09-28 2006-10-25 华为技术有限公司 嵌入式设备用户界面的实现方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Windows 7—虽朴实无华,却踏实有效;微电脑世界;《微电脑世界》;20091110(第11期);第81-82页 *

Also Published As

Publication number Publication date
CN102236510A (zh) 2011-11-09
WO2011134299A1 (zh) 2011-11-03

Similar Documents

Publication Publication Date Title
US8255824B2 (en) Toolbar/sidebar browser extension
US8250458B2 (en) Method, system, and software tool for emulating a portal application
US8850390B2 (en) Status management for phased implementation of configuration changes
US8627217B2 (en) Window display system, window display method, program development support device, and server device
CN102193793B (zh) 一种实现软件复用的方法和装置
US20070050750A1 (en) Extensible data-driven setup application for operating system
CN103927163A (zh) 插件框架处理装置及插件系统
EP1536325B1 (en) Gui application development support device and method, and computer program
CN102243559A (zh) 一种用图形界面进行媒体资产管理的方法及系统
CN105204859B (zh) 动画管理方法及其系统
CN102236510B (zh) 一种利用超级任务栏控制即时通信软件的方法及设备
CN105487752A (zh) 一种应用控制方法及应用该方法的终端
CN101561747A (zh) 输出客户端的用户界面的方法和装置
WO2022078199A1 (zh) 小程序控制方法、装置、设备及存储介质
US20100077090A1 (en) Fast switching between multiple user sessions
Hummes et al. Design of extensible component-based groupware
CN103019840B (zh) 用于设置桌面的方法和装置
CN107092481A (zh) 一种用于网络交互的会话提示框实现方法及系统
US6438742B1 (en) Object-oriented system and method for visually generating software applications
CN105808233A (zh) 屏幕录制方法和装置
CN107436760A (zh) 多窗口渲染方法及装置
CN103513977A (zh) 一种群成员列表的展示方法和装置
CN112445564A (zh) 界面显示方法及电子设备、计算机可读存储介质
US8321537B1 (en) Methods and system for sharing gadgets between users
CN103257788A (zh) 一种windows桌面动态图标形成方法

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