CN104020973B - 信息显示方法及装置 - Google Patents

信息显示方法及装置 Download PDF

Info

Publication number
CN104020973B
CN104020973B CN201410212110.4A CN201410212110A CN104020973B CN 104020973 B CN104020973 B CN 104020973B CN 201410212110 A CN201410212110 A CN 201410212110A CN 104020973 B CN104020973 B CN 104020973B
Authority
CN
China
Prior art keywords
desktop wallpaper
message
window
wallpaper window
desktop
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
CN201410212110.4A
Other languages
English (en)
Other versions
CN104020973A (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.)
Guangzhou Kugou Computer Technology Co Ltd
Original Assignee
Guangzhou Kugou Computer Technology 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 Guangzhou Kugou Computer Technology Co Ltd filed Critical Guangzhou Kugou Computer Technology Co Ltd
Priority to CN201410212110.4A priority Critical patent/CN104020973B/zh
Publication of CN104020973A publication Critical patent/CN104020973A/zh
Application granted granted Critical
Publication of CN104020973B publication Critical patent/CN104020973B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • User Interface Of Digital Computer (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

本发明公开了一种信息显示方法及装置,属于计算机技术领域。所述方法包括:截获操作系统向桌面壁纸窗口的消息处理函数所发送的消息;在截获到的所述消息是用于触发刷新所述桌面壁纸窗口内的显示内容的绘制消息时,根据待显示的信息绘制显示内容;在所述桌面壁纸窗口显示所述显示内容。本发明解决了浮窗显示在最前一层会影响用户的正常操作的问题;达到了显示内容显示在位于图标层下方的桌面壁纸窗口所在的层,用户点击图标时,会直接激发图标所对应的功能,不会影响用户的正常操作的效果。

Description

信息显示方法及装置
技术领域
本发明涉及计算机技术领域,特别涉及一种信息显示方法及装置。
背景技术
音乐播放程序在播放音乐时,通常会在电脑桌面上同步地播放与该音乐相关的信息,这些信息可以是歌词、播放进度以及歌手写真等信息。
在目前的信息显示方法中,音乐播放程序通常在电脑桌面上叠加显示一个独立于音乐播放程序界面的浮窗,根据与当前播放音乐有关的待显示的信息绘制显示内容,待显示的信息可以是歌词、然后播放进度以及歌手写真等;在该浮窗中显示该显示内容。比如在图1中,音乐播放程序10在电脑桌面12上显示一个独立的浮窗14,然后在浮窗14中以动画方式显示歌词。该浮窗14具有较高的显示优先级,可以总是在最前一层显示,且该浮窗14的背景区域被设置为透明色。
在实现本发明的过程中,发明人发现上述技术至少存在以下问题:由于在上述方法中,桌面壁纸所在的窗口显示在最底层,桌面图标显示在桌面壁纸窗口之上的中间一层,而浮窗总是在最前一层显示,所以如果用户需要点击该浮窗下方的图标,实际上点击的是该浮窗的透明的背景区域,被激发的功能是该浮窗所对应的功能,而不是用户希望激发的图标所对应的功能,影响了用户的正常操作。
发明内容
为了解决浮窗显示在最前一层会影响用户的正常操作的问题,本发明实施例提供了一种信息显示方法及装置。所述技术方案如下:
第一方面,提供了一种信息显示方法,所述方法包括:
截获操作系统向桌面壁纸窗口的消息处理函数所发送的消息;
在截获到的所述消息是用于触发刷新所述桌面壁纸窗口内的显示内容的绘制消息时,根据待显示的信息绘制显示内容;
在所述桌面壁纸窗口显示所述显示内容。
在可能的实施方式中,所述截获操作系统向桌面壁纸窗口的消息处理函数所发送的消息,包括:
查询所述桌面壁纸窗口所对应的线程;
使用钩子Hook技术向所述桌面壁纸窗口所对应的线程注入自定义代码;
通过所述自定义代码将所述桌面壁纸窗口所对应的消息处理函数替换为自定义消息处理函数;
通过所述自定义消息处理函数截获操作系统向所述桌面壁纸窗口的消息处理函数所发送的消息。
在可能的实施方式中,所述查询所述桌面壁纸窗口所对应的线程,包括:
在资源管理器进程中根据所述桌面壁纸窗口所对应的类名查找所述桌面壁纸窗口的句柄;
根据所述桌面壁纸窗口的句柄查找所述桌面壁纸窗口所在的线程。
在可能的实施方式中,所述根据待显示的信息绘制显示内容,包括:
在内存中创建与所述桌面壁纸窗口的画布相一致的缓冲区;
在所述缓冲区中根据待显示的信息绘制所述显示内容;
所述在所述桌面壁纸窗口显示所述显示内容,包括:
将所述缓冲区中的所述绘制内容拷贝到所述桌面壁纸窗口的画布上进行显示。
在可能的实施方式中,所述在所述缓冲区中根据待显示的信息绘制所述显示内容,包括:
若所述待显示的信息是包括连续的若干帧图像的动画,则检测当前时刻是否已经超过待绘制的当前帧图像的时间轴时刻;
若检测出当前时刻已经超过待绘制的当前帧图像的时间轴时刻,则跳过所述当前帧图像,绘制下一帧图像。
在可能的实施方式中,所述截获操作系统向桌面壁纸窗口的消息处理函数所发送的消息之后,还包括:
在截获到的所述消息不是所述绘制消息时,将所述消息继续交由所述桌面壁纸窗口的消息处理函数进行处理。
第二方面,提供了一种信息显示装置,所述装置包括:
消息截获模块,用于截获操作系统向桌面壁纸窗口的消息处理函数所发送的消息;
内容绘制模块,用于在截获到的所述消息是用于触发刷新所述桌面壁纸窗口内的显示内容的绘制消息时,根据待显示的信息绘制显示内容;
内容显示模块,用于在所述桌面壁纸窗口显示所述显示内容。
在可能的实施方式中,所述消息截获模块,包括:
线程查询单元,用于查询所述桌面壁纸窗口所对应的线程;
代码注入单元,用于使用钩子Hook技术向所述桌面壁纸窗口所对应的线程注入自定义代码;
函数替换单元,用于通过所述自定义代码将所述桌面壁纸窗口所对应的消息处理函数替换为自定义消息处理函数;
消息截获单元,用于通过所述自定义消息处理函数截获操作系统向所述桌面壁纸窗口的消息处理函数所发送的消息。
在可能的实施方式中,所述线程查询单元,包括:
句柄查找子单元,用于在资源管理器进程中根据所述桌面壁纸窗口所对应的类名查找所述桌面壁纸窗口的句柄;
线程查找子单元,用于根据所述桌面壁纸窗口的句柄查找所述桌面壁纸窗口所在的线程。
在可能的实施方式中,所述内容绘制模块,包括:
缓冲区创建单元,用于在内存中创建与所述桌面壁纸窗口的画布相一致的缓冲区;
内容绘制单元,用于在所述缓冲区中根据待显示的信息绘制所述显示内容;
所述内容显示模块,用于将所述缓冲区中的所述绘制内容拷贝到所述桌面壁纸窗口的画布上进行显示。
在可能的实施方式中,所述内容绘制单元,包括:
时刻检测子单元和图像跳过子单元;
所述时刻检测子单元,用于若所述待显示的信息是包括连续的若干帧图像的动画,则检测当前时刻是否已经超过待绘制的当前帧图像的时间轴时刻;
所述图像跳过子单元,用于若检测出当前时刻已经超过待绘制的当前帧图像的时间轴时刻,则跳过所述当前帧图像,绘制下一帧图像。
在可能的实施方式中,所述装置,还包括:
消息交回模块,用于在截获到的所述消息不是所述绘制消息时,将所述消息继续交由所述桌面壁纸窗口的消息处理函数进行处理。
本发明实施例提供的技术方案带来的有益效果是:
通过在截获到用于触发刷新桌面壁纸窗口内的显示内容的绘制消息后,使用自定义的显示内容代替桌面壁纸窗口中的默认显示的壁纸内容,也即在位于图标一层下面的桌面壁纸窗口一层显示自定义的显示内容;解决了浮窗显示在最前一层会影响用户的正常操作的问题;达到了显示内容显示在位于图标层下方的桌面壁纸窗口所在的层,用户点击图标时,会直接激发图标所对应的功能,不会影响用户的正常操作的效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是相关技术中提供的信息显示方法在具体实施时的界面示意图;
图2是本发明一个实施例提供的信息显示方法的方法流程图;
图3A是本发明另一个实施例提供的信息显示方法的方法流程图;
图3B至图3E是图3A实施例提供的信息显示方法在具体实施时的实施示意图;
图4是本发明一个实施例提供的信息显示装置的结构示意图;
图5是本发明一个实施例提供的信息显示装置的结构示意图;
图6是本发明一个实施例提供的终端的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
在实现本发明实施例的过程中,发明人发现:如果能够将诸如歌词、歌手写真之类的相关信息显示在桌面壁纸所在的窗口,则不会影响用户对图标的操作,因为图标所在的显示层高于桌面壁纸窗口所在的显示层。
为了便于理解本发明,首先对桌面壁纸的显示机制进行简单的介绍。在Windows操作系统中,桌面壁纸是在Explorer.exe(资源管理器)进程中的一个窗口中进行显示的,也称桌面壁纸窗口。桌面壁纸窗口对应有一个消息处理函数,如果要显示一张壁纸,需要该消息处理函数在桌面壁纸窗口中绘制该张壁纸并显示。一旦桌面壁纸窗口上的显示内容有变化,比如鼠标光标发生移动、位于它上层的其它窗口发生移动、位于它上层的其它窗口发生拉伸等,操作系统都会向该消息处理函数发送WM_PAINT(绘制)消息,WM_PAINT消息用于触发刷新桌面壁纸窗口内的显示内容。该消息处理函数在接收到绘制消息后,根据该绘制消息重新绘制全部或者部分显示内容,以刷新桌面壁纸窗口中的显示内容。
请参考图2,其示出了本发明一个实施例提供的信息显示方法的方法流程图。本实施例以该信息显示方法应用于客户端中来举例说明。该信息显示方法,包括:
步骤202,截获操作系统向桌面壁纸窗口的消息处理函数所发送的消息;
步骤204,在截获到的消息是用于触发刷新桌面壁纸窗口内的显示内容的绘制消息时,根据待显示的信息绘制显示内容;
步骤206,在桌面壁纸窗口显示该显示内容。
综上所述,本实施例提供的信息显示方法,通过在截获到用于触发刷新桌面壁纸窗口内的显示内容的绘制消息后,使用自定义的显示内容代替桌面壁纸窗口中的默认显示的壁纸内容,也即在位于图标一层下面的桌面壁纸窗口一层显示自定义的显示内容;解决了浮窗显示在最前一层会影响用户的正常操作的问题;达到了显示内容显示在位于图标层下方的桌面壁纸窗口所在的层,用户点击图标时,会直接激发图标所对应的功能,不会影响用户的正常操作的效果。
请参考图3A,其示出了本发明另一实施例提供的信息显示方法的方法流程图。本实施例以该信息显示方法应用于客户端中来举例说明,该客户端可以是音乐播放程序。该信息显示方法,包括:
步骤301,查询桌面壁纸窗口所对应的线程;
首先,客户端查询桌面壁纸窗口所对应的线程。本步骤包括如下子步骤:
1、在资源管理器进程中根据桌面壁纸窗口所对应的类名查找桌面壁纸窗口的句柄;
客户端在资源管理器Explorer.exe进程中根据桌面壁纸窗口的类名查找桌面壁纸窗口的句柄,句柄可以认为是桌面壁纸窗口在操作系统中的标识。
由于桌面壁纸窗口实际上是个ListView控件,所以本子步骤可以使用微软WindowsAPI中的FindWindowEx函数来实现查找过程。
2、根据桌面壁纸窗口的句柄查找桌面壁纸窗口所在的线程。
在找到了桌面壁纸窗口的句柄后,客户端根据桌面壁纸窗口的句柄查找桌面壁纸窗口所在的线程ID。
客户端可以使用GetWindowThreadProcessId()函数读取桌面壁纸窗口所在的进程ID与线程ID。
步骤302,使用钩子Hook技术向桌面壁纸窗口所对应的线程注入自定义代码;
客户端使用SetWindowsHookEX函数向桌面壁纸窗口所对应的线程注入自定义代码,该自定义代码可以是研发人员预先提供的DLL(Dynamic Link Library,动态链接库)。由于注入后的自定义代码与资源管理器Explorer.exe处于同一个进程,所以注入后的自定义代码可以操作Explorer.exe进程中的所有资源。
步骤303,通过自定义代码将桌面壁纸窗口所对应的消息处理函数替换为自定义消息处理函数;
注入后的自定义代码再次查找到桌面壁纸窗口的句柄,然后通过该句柄将桌面壁纸窗口所对应的消息处理函数替换为自定义消息处理函数。该替换过程可以通过SubClass(子类化)技术实现,SubClass是一种替换Window窗口消息处理函数的技术。
如图3B所示,由于原始的消息处理函数被替换为了自定义消息处理函数,所以自定义消息处理函数可以截获到操作系统向原始的消息处理函数发送的所有消息。
需要说明的是,虽然原始的消息处理函数被替换,但是原始的消息处理函数仍然存在。
步骤304,通过自定义消息处理函数截获操作系统向桌面壁纸窗口的消息处理函数所发送的消息。
客户端通过自定义消息处理函数截获操作系统向桌面壁纸窗口的消息处理函数所发送的消息。在截获的消息中:
如果截获的消息是WM_PAINT(绘制)消息,则自定义消息处理函数自身来处理这条消息,并不再把这条消息发送给桌面壁纸窗口的原始的消息处理函数。简单来讲,就是使用自定义消息处理函数来代替原始的消息处理函数完成有关显示内容的绘制、显示和更新过程,显示出我们提供的客户端所希望显示的内容,而不是操作系统默认的壁纸内容。
如果截获的消息是除WM_PAINT(绘制)消息之外的其它消息,则自定义消息处理函数将该消息继续交由桌面壁纸窗口的原始的消息处理函数进行处理。
步骤305,在截获到的消息是绘制消息时,根据待显示的信息绘制显示内容;
在截获到的消息是WM_PAINT(绘制)消息时,客户端根据待显示的信息绘制显示内容。待显示的信息可以是歌词、动画、歌手写真之类的信息。
在一种可能的实施方式下,在截获到WM_PAINT消息时,客户端可以直接根据待显示的信息在桌面壁纸窗口中绘制显示内容。如图3C所示,若桌面壁纸窗口的原始显示内容为32,则客户端首先用默认背景色34对桌面壁纸窗口的画布进行擦除,然后根据待显示的信息将新的显示内容36绘制在桌面壁纸窗口的画布中。其中,用默认背景色进行擦除主要是为了防止原始显示内容32与新的显示内容36混合在一起导致花屏。
但是在待显示的信息是动画时,如果按照上述过程进行绘制,那么桌面壁纸窗口中的显示内容的变化过程为:“显示内容1、背景色、显示内容2、背景色、显示内容3、背景色、显示内容4、背景色、、、、、”。由于动画文件的帧速较快,显示内容与背景色之间的差异又较大,此时很容易导致发生闪烁现象。
所以为了消除闪烁现象,本步骤可以采用双缓冲技术来绘制显示内容,也即本步骤采用如下子步骤实现:
1、在内存中创建与桌面壁纸窗口的画布相一致的缓冲区;
客户端不直接在桌面壁纸窗口的画布上进行绘制,而是先在内存中创建与桌面壁纸窗口的画布相一致的缓冲区。
2、在缓冲区中根据待显示的信息绘制显示内容;
客户端在缓冲区中根据待显示的信息绘制显示内容,该显示内容在绘制后才会被拷贝到桌面壁纸窗口显示,整个过程如图3D所示。显然,原始的显示内容32切换至新的显示内容36的过程中将不会显示背景色,所以不会产生闪烁现象。
需要说明的是,桌面壁纸窗口中的显示内容通常是基于WM_PAINT消息来触发刷新的,也即收到一次WM_PAINT消息,更新一次显示内容。但是如果待显示的信息是动画,比如动态歌词,则客户端可以自定义一个定时器,由该定时器来触发动画中每帧图像的显示内容的绘制过程。
在根据动画来绘制显示内容时,为了保证动画的流畅性,可以适当的做丢帧处理。也即,本子步骤2,可以包括如下子步骤:
若待显示的信息是包括连续的若干帧图像的动画,则客户端检测当前时刻是否已经超过待绘制的当前帧图像的时间轴时刻;若检测出当前时刻已经超过待绘制的当前帧图像的时间轴时刻,则跳过当前帧图像,绘制下一帧图像。
如图3E所示,动画中每帧图像都在动画时间轴上有对应的时间轴时刻,如果已经绘制了第n-1帧图像,但是由于第n-1帧图像花费了太多的绘制时间,导致应该绘制第n帧图像时的时刻t1已经超过了第n帧图像在动画时间轴上的时间轴时刻t2,则此时可以丢弃该第n帧图像不再绘制,直接绘制第n+1帧图像,N≥2。
当然,如果当前时刻t1也超过了第n+1帧图像在动画时间轴上的时间轴时刻t3,则此时可以丢弃该第n+1帧图像不再绘制,直接绘制第n+2帧图像,以此类推,不再赘述。
步骤306,在桌面壁纸窗口显示显示内容。
在显示内容被绘制后,在桌面壁纸窗口中会显示该显示内容。如果显示内容是在缓冲区中绘制的,则将缓冲区中的绘制内容拷贝到桌面壁纸窗口的画布上进行显示。拷贝过程可以使用BitBit函数基于图形块的复制来实现。之后,客户端可以释放掉内存中的该缓冲区。
至此,可以实现在桌面壁纸上显示客户端自定义的显示内容。
综上所述,本实施例提供的信息显示方法,通过在截获到用于触发刷新桌面壁纸窗口内的显示内容的绘制消息后,使用自定义的显示内容代替桌面壁纸窗口中的默认显示的壁纸内容,也即在位于图标一层下面的桌面壁纸窗口一层显示自定义的显示内容;解决了浮窗显示在最前一层会影响用户的正常操作的问题;达到了显示内容显示在位于图标层下方的桌面壁纸窗口所在的层,用户点击图标时,会直接激发图标所对应的功能,不会影响用户的正常操作的效果。
本实施例提供的信息显示方法,还通过自定义消息处理函数来截获操作系统向桌面壁纸窗口的消息处理函数所发送的消息,实现了绘制消息的拦截,使得客户端能够在桌面壁纸窗口中显示自定义的显示内容。
本实施例提供的信息显示方法,还通过采用双缓冲技术来实现显示内容的绘制,可以在帧速较高的场景下避免闪烁现象的发生。
本实施例提供的信息显示方法,还通过在待显示的信息是动画时,适当地进行丢帧处理,可以在绘制显示内容的计算量较大时,保证显示内容的流畅性。
请参考图4,其示出了本发明一个实施例提供的信息显示装置的结构示意图。该信息显示装置可以通过软件、硬件或者两者的结合实现成为客户端的全部或者一部分。该信息显示装置,包括:
消息截获模块420,用于截获操作系统向桌面壁纸窗口的消息处理函数所发送的消息;
内容绘制模块440,用于在截获到的所述消息是用于触发刷新桌面壁纸窗口内的显示内容的绘制消息时,根据待显示的信息绘制显示内容;
内容显示模块460,用于在所述桌面壁纸窗口显示所述显示内容。
综上所述,本实施例提供的信息显示装置,通过截获操作系统向桌面壁纸窗口的消息处理函数所发送的消息;在截获到的消息是绘制消息时,根据待显示的信息绘制显示内容;在桌面壁纸窗口显示该显示内容;解决了浮窗显示在最前一层会影响用户的正常操作的问题;达到了显示内容显示在位于图标层下方的桌面壁纸窗口所在的层,用户点击图标时,会直接激发图标所对应的功能,不会影响用户的正常操作的效果。
请参考图5,其示出了本发明一个实施例提供的信息显示装置的结构示意图。该信息显示装置可以通过软件、硬件或者两者的结合实现成为客户端的全部或者一部分。该信息显示装置,包括:
消息截获模块420,用于截获操作系统向桌面壁纸窗口的消息处理函数所发送的消息;
内容绘制模块440,用于在截获到的所述消息是用于触发刷新桌面壁纸窗口内的显示内容的绘制消息时,根据待显示的信息绘制显示内容;
内容显示模块460,用于在所述桌面壁纸窗口显示所述显示内容。
在可能的实施方式中,所述消息截获模块420,包括:
线程查询单元422,用于查询所述桌面壁纸窗口所对应的线程;
代码注入单元424,用于使用钩子Hook技术向所述桌面壁纸窗口所对应的线程注入自定义代码;
函数替换单元426,用于通过所述自定义代码将所述桌面壁纸窗口所对应的消息处理函数替换为自定义消息处理函数;
消息截获单元428,用于通过所述自定义消息处理函数截获操作系统向所述桌面壁纸窗口的消息处理函数所发送的消息。
在可能的实施方式中,所述线程查询单元422,包括:
句柄查找子单元,用于在资源管理器进程中根据所述桌面壁纸窗口所对应的类名查找所述桌面壁纸窗口的句柄;
线程查找子单元,用于根据所述桌面壁纸窗口的句柄查找所述桌面壁纸窗口所在的线程。
在可能的实施方式中,所述内容绘制模块440,包括:
缓冲区创建单元442,用于在内存中创建与所述桌面壁纸窗口的画布相一致的缓冲区;
内容绘制单元444,用于在所述缓冲区中根据待显示的信息绘制所述显示内容;
所述内容显示模块460,用于将所述缓冲区中的所述绘制内容拷贝到所述桌面壁纸窗口的画布上进行显示。
在可能的实施方式中,所述内容绘制单元444,包括:
时刻检测子单元和图像跳过子单元;
所述时刻检测子单元,用于若所述待显示的信息是包括连续的若干帧图像的动画,则检测当前时刻是否已经超过待绘制的当前帧图像的时间轴时刻;
所述图像跳过子单元,用于若检测出当前时刻已经超过待绘制的当前帧图像的时间轴时刻,则跳过所述当前帧图像,绘制下一帧图像。
在可能的实施方式中,所述装置,还包括:
消息交回模块480,用于在截获到的所述消息不是所述绘制消息时,将所述消息继续交由所述桌面壁纸窗口的消息处理函数进行处理。
综上所述,本实施例提供的信息显示装置,通过在截获到用于触发刷新桌面壁纸窗口内的显示内容的绘制消息后,使用自定义的显示内容代替桌面壁纸窗口中的默认显示的壁纸内容,也即在位于图标一层下面的桌面壁纸窗口一层显示自定义的显示内容;解决了浮窗显示在最前一层会影响用户的正常操作的问题;达到了显示内容显示在位于图标层下方的桌面壁纸窗口所在的层,用户点击图标时,会直接激发图标所对应的功能,不会影响用户的正常操作的效果。
本实施例提供的信息显示装置,还通过自定义消息处理函数来截获操作系统向桌面壁纸窗口的消息处理函数所发送的消息,实现了绘制消息的拦截,使得客户端能够在桌面壁纸窗口中显示自定义的显示内容。
本实施例提供的信息显示装置,还通过采用双缓冲技术来实现显示内容的绘制,可以在帧速较高的场景下避免闪烁现象的发生。
本实施例提供的信息显示装置,还通过在待显示的信息是动画时,适当地进行丢帧处理,可以在绘制显示内容的计算量较大时,保证显示内容的流畅性。
需要说明的是:上述实施例提供的信息显示装置在显示信息时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的信息显示装置与信息显示方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图6,其示出了本发明一个实施例提供的终端的结构示意图。所述终端600包括中央处理单元(CPU)601、包括随机存取存储器(RAM)602和只读存储器(ROM)603的系统存储器604,以及连接系统存储器604和中央处理单元601的系统总线605。所述终端600还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)606,和用于存储操作系统613、应用程序614和其他程序模块615的大容量存储设备607。
所述基本输入/输出系统606包括有用于显示信息的显示器608和用于用户输入信息的诸如鼠标、键盘之类的输入设备609。其中所述显示器608和输入设备609都通过连接到系统总线605的输入输出控制器610连接到中央处理单元601。所述基本输入/输出系统606还可以包括输入输出控制器610以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器610还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备607通过连接到系统总线605的大容量存储控制器(未示出)连接到中央处理单元601。所述大容量存储设备607及其相关联的计算机可读介质为终端600提供非易失性存储。也就是说,所述大容量存储设备607可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器604和大容量存储设备607可以统称为存储器。
根据本发明的各种实施例,所述终端600还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即终端600可以通过连接在所述系统总线605上的网络接口单元611连接到网络612,或者说,也可以使用网络接口单元611来连接到其他类型的网络或远程计算机系统(未示出)。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,所述一个或者一个以上程序包含用于进行本发明实施例提供的信息显示方法的指令。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种信息显示方法,其特征在于,所述方法包括:
查询桌面壁纸窗口所对应的线程;所述桌面壁纸窗口位于桌面图标的下一层;
使用钩子Hook技术向所述桌面壁纸窗口所对应的线程注入自定义代码;
通过所述自定义代码将所述桌面壁纸窗口所对应的消息处理函数替换为自定义消息处理函数;
通过所述自定义消息处理函数截获操作系统向所述桌面壁纸窗口的消息处理函数所发送的消息;
在截获到的所述消息是用于触发刷新所述桌面壁纸窗口内的显示内容的绘制消息时,根据待显示的信息绘制显示内容;
在位于所述桌面图标的下一层的所述桌面壁纸窗口显示所述显示内容。
2.根据权利要求1所述的方法,其特征在于,所述查询桌面壁纸窗口所对应的线程,包括:
在资源管理器进程中根据所述桌面壁纸窗口所对应的类名查找所述桌面壁纸窗口的句柄;
根据所述桌面壁纸窗口的句柄查找所述桌面壁纸窗口所在的线程。
3.根据权利要求1所述的方法,其特征在于,所述根据待显示的信息绘制显示内容,包括:
在内存中创建与所述桌面壁纸窗口的画布相一致的缓冲区;
在所述缓冲区中根据待显示的信息绘制所述显示内容;
所述在所述桌面壁纸窗口显示所述显示内容,包括:
将所述缓冲区中的所述绘制内容拷贝到所述桌面壁纸窗口的画布上进行显示。
4.根据权利要求3所述的方法,其特征在于,所述在所述缓冲区中根据待显示的信息绘制所述显示内容,包括:
若所述待显示的信息是包括连续的若干帧图像的动画,则检测当前时刻是否已经超过待绘制的当前帧图像的时间轴时刻;
若检测出当前时刻已经超过待绘制的当前帧图像的时间轴时刻,则跳过所述当前帧图像,绘制下一帧图像。
5.根据权利要求1所述的方法,其特征在于,所述截获操作系统向桌面壁纸窗口的消息处理函数所发送的消息之后,还包括:
在截获到的所述消息不是所述绘制消息时,将所述消息继续交由所述桌面壁纸窗口的消息处理函数进行处理。
6.一种信息显示装置,其特征在于,所述装置包括:
消息截获模块,用于截获操作系统向桌面壁纸窗口的消息处理函数所发送的消息;所述桌面壁纸窗口位于桌面图标的下一层;
内容绘制模块,用于在截获到的所述消息是用于触发刷新所述桌面壁纸窗口内的显示内容的绘制消息时,根据待显示的信息绘制显示内容;
内容显示模块,用于在位于所述桌面图标的下一层的所述桌面壁纸窗口显示所述显示内容;
所述消息截获模块,包括:
线程查询单元,用于查询所述桌面壁纸窗口所对应的线程;
代码注入单元,用于使用钩子Hook技术向所述桌面壁纸窗口所对应的线程注入自定义代码;
函数替换单元,用于通过所述自定义代码将所述桌面壁纸窗口所对应的消息处理函数替换为自定义消息处理函数;
消息截获单元,用于通过所述自定义消息处理函数截获所述操作系统向所述桌面壁纸窗口的消息处理函数所发送的消息。
7.根据权利要求6所述的装置,其特征在于,所述线程查询单元,包括:
句柄查找子单元,用于在资源管理器进程中根据所述桌面壁纸窗口所对应的类名查找所述桌面壁纸窗口的句柄;
线程查找子单元,用于根据所述桌面壁纸窗口的句柄查找所述桌面壁纸窗口所在的线程。
8.根据权利要求6所述的装置,其特征在于,所述内容绘制模块,包括:
缓冲区创建单元,用于在内存中创建与所述桌面壁纸窗口的画布相一致的缓冲区;
内容绘制单元,用于在所述缓冲区中根据待显示的信息绘制所述显示内容;
所述内容显示模块,用于将所述缓冲区中的所述绘制内容拷贝到所述桌面壁纸窗口的画布上进行显示。
9.根据权利要求8所述的装置,其特征在于,所述内容绘制单元,包括:
时刻检测子单元和图像跳过子单元;
所述时刻检测子单元,用于若所述待显示的信息是包括连续的若干帧图像的动画,则检测当前时刻是否已经超过待绘制的当前帧图像的时间轴时刻;
所述图像跳过子单元,用于若检测出当前时刻已经超过待绘制的当前帧图像的时间轴时刻,则跳过所述当前帧图像,绘制下一帧图像。
10.根据权利要求6所述的装置,其特征在于,所述装置,还包括:
消息交回模块,用于在截获到的所述消息不是所述绘制消息时,将所述消息继续交由所述桌面壁纸窗口的消息处理函数进行处理。
CN201410212110.4A 2014-05-19 2014-05-19 信息显示方法及装置 Active CN104020973B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410212110.4A CN104020973B (zh) 2014-05-19 2014-05-19 信息显示方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410212110.4A CN104020973B (zh) 2014-05-19 2014-05-19 信息显示方法及装置

Publications (2)

Publication Number Publication Date
CN104020973A CN104020973A (zh) 2014-09-03
CN104020973B true CN104020973B (zh) 2018-03-13

Family

ID=51437753

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410212110.4A Active CN104020973B (zh) 2014-05-19 2014-05-19 信息显示方法及装置

Country Status (1)

Country Link
CN (1) CN104020973B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104615327B (zh) * 2014-12-24 2017-12-22 广州酷狗计算机科技有限公司 用于游戏过程中的窗口显示方法及装置
CN106484479B (zh) * 2016-10-10 2019-08-27 Oppo广东移动通信有限公司 一种多开应用的管理方法、装置及智能终端
CN106648508B (zh) * 2016-12-02 2020-01-07 深圳英飞拓科技股份有限公司 一种图像绘制方法和装置
CN108984259B (zh) * 2018-07-11 2020-09-18 腾讯科技(深圳)有限公司 界面显示方法、装置及终端
CN109558233A (zh) * 2018-11-29 2019-04-02 北京北信源信息安全技术有限公司 窗口进程管理方法、装置、存储介质及服务器
CN110275655B (zh) * 2019-06-28 2022-02-22 广州酷狗计算机科技有限公司 歌词显示方法、装置、设备及存储介质
CN110990090A (zh) * 2019-11-14 2020-04-10 上海掌门科技有限公司 动态壁纸显示方法、设备以及计算机可读介质
CN113010056A (zh) * 2021-02-22 2021-06-22 北京小米移动软件有限公司 桌面显示控制方法、装置、终端及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102460344A (zh) * 2009-06-19 2012-05-16 莫门特美国股份有限公司 用于动态背景用户界面(多个界面)的系统和方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101676875A (zh) * 2008-08-15 2010-03-24 北京北大众志微系统科技有限责任公司 Linux终端无缝访问远程Windows应用程序的方法及其装置
CN102567030B (zh) * 2012-01-06 2015-09-30 深圳市酷开网络科技有限公司 电视机用户交互界面实现方法及系统
CN103077026A (zh) * 2012-12-28 2013-05-01 锐达互动科技股份有限公司 一种在操作系统的桌面环境下进行书写的方法
CN103369255A (zh) * 2013-08-02 2013-10-23 苏州科达科技股份有限公司 一种实现字幕叠加的装置及方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102460344A (zh) * 2009-06-19 2012-05-16 莫门特美国股份有限公司 用于动态背景用户界面(多个界面)的系统和方法

Also Published As

Publication number Publication date
CN104020973A (zh) 2014-09-03

Similar Documents

Publication Publication Date Title
CN104020973B (zh) 信息显示方法及装置
TWI585678B (zh) 點對點動態可附加邏輯顯示器
US10592090B2 (en) Animations for scroll and zoom
US10157593B2 (en) Cross-platform rendering engine
US10775971B2 (en) Pinch gestures in a tile-based user interface
CN106575396A (zh) 消息对话历史的快速导航
US20110078573A1 (en) Terminal apparatus, server apparatus, display control method, and program
US20130106888A1 (en) Interactively zooming content during a presentation
CN103455292B (zh) 业务数据显示处理方法与装置、用户设备
CN109032390A (zh) 笔迹数据缓存方法、装置、设备和存储介质
US20080307365A1 (en) Object transitions
AU2007237356A1 (en) Animated user interface control elements
US20190317658A1 (en) Interaction method and device for a flexible display screen
JP2006031359A (ja) 画面共有方法、及び会議支援システム
CN105224163B (zh) 界面显示方法和装置
WO2019015095A1 (zh) 基于双系统的笔迹书写显示方法和系统、存储介质及设备
CN109614178A (zh) 批注显示方法、装置、设备和存储介质
CN104407865B (zh) 窗口的显示方法及装置
CN109375980B (zh) 基于Andriod系统的触控绘图方法
CN108153505A (zh) 手写输入内容的显示方法、电子设备及计算机存储介质
CN104866318A (zh) 一种多窗口中标签页的展示方法及装置
WO2016101816A1 (zh) 一种即时通讯中的信息显示方法及装置
CN108235100A (zh) 多屏显示方法、装置及系统
US9372609B2 (en) Asset-based animation timelines
US20130152009A1 (en) Browsing Between Mobile and Non-Mobile Web Sites

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C53 Correction of patent for invention or patent application
CB03 Change of inventor or designer information

Inventor after: Xie Zhenyu

Inventor after: Peng Xuejie

Inventor after: Zhao Song

Inventor after: Tan Jianwen

Inventor after: Li Huadong

Inventor after: Lin Kangming

Inventor after: Liu Shaowei

Inventor after: Du Songjie

Inventor after: Liu Xufen

Inventor before: Lin Kangming

Inventor before: Zhao Song

Inventor before: Li Huadong

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: LIN KANGMING ZHAO SONG LI HUADONG TO: XIE ZHENYU PENG XUEJIE ZHAO SONG TAN JIANWEN LI HUADONG LIN KANGMING LIU SHAOWEI DU SONGJIE LIU XUFEN

C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 510660 Guangzhou City, Guangzhou, Guangdong, Whampoa Avenue, No. 315, self - made 1-17

Applicant after: Guangzhou KuGou Networks Co., Ltd.

Address before: 510000 B1, building, No. 16, rhyme Road, Guangzhou, Guangdong, China 13F

Applicant before: Guangzhou KuGou Networks Co., Ltd.

GR01 Patent grant
GR01 Patent grant