- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Windows 7程序开发系列之一(任务栏篇) - wilford的专栏 - CSDN博客
wilford的专栏
一个人的游戏
条新通知
登录
注册
欢迎
退出
我的博客
配置
写文章
文章管理
博客首页
空间
博客
好友
相册
留言
用户操作
[留言]? [发消息]? [加为好友]?
订阅我的博客
??
[编辑]ntwilford的公告
[编辑]文章分类
C++
DirectX
Lua
MinGW
OGRE
Windows开发
记事
随手做点翻译
学习日记
自给自足
[编辑]其它
挑战30天 C-C++ 入门极限系列教程
[编辑]英文的游戏开发站点
codesampler
gamasutra
gamedev
The ZBuffer
存档
2010年06月(3)
2010年05月(2)
2009年12月(1)
2009年09月(2)
2009年08月(1)
2009年07月(2)
2009年05月(1)
2009年02月(1)
2008年09月(1)
2006年12月(2)
2006年10月(1)
2006年08月(5)
2006年07月(4)
2006年06月(7)
2006年05月(5)
公告:
[意见反馈][官方博客]
? Windows 7程序开发系列之一(任务栏篇) 收藏
?????? Windows 7 引入了很多新特性,其中最直观的莫过于用户界面上的变化。很多人也因为不能适应这种变化而回到了XP。但是在我看来这些新的特性却是一种进步,使用了一段时间之后,也萌生了要做一点开发的冲动。于是把以前一个电源管理的小软件重写了一次(点此下载 ),利用了Windows 7 的任务栏特性和JumpList。
?????? 关于Windows 7开发的中文资料比较少。微软官方的教程还比较丰富,但都是英文的,可能某些英文不太好的朋友学起来比较吃力。我把任务栏和JumpList这两个方面做一个简短的教程,希望对后来者有所帮助。
????? 任务栏方面的东西比JumpList稍微简单一点,就先从任务栏说起。Windows7的任务栏包含了几个新的特性:Progress Bar(进度条)、Overlay Icon(覆盖图标)、 Thumbnail(缩略图)、Thumbnail Toolbar(位于缩略图下方的工具栏)、Tooltip(鼠标指向时的提示信息)、Aero Peek Preview(当鼠标停放在缩略图上时显示窗口预览)。下面是一张foobar2000运行时的截图:
?????? 上图中foobar2000使用Progress Bar显示当前歌曲的播放进度,并且在右下角有一个白色的小三角形(Overlay Icon)显示当前是播放还是暂停,使用Thumbnail显示唱片封面,Thumbnail Toolbar有三个按钮分别是上一曲、暂停、下一曲,上方的Tooltip提示当前播放曲目,当鼠标放在缩略图上时,Aero Peek功能会隐藏所有窗口,只显示当前窗口的预览图。上面的Progress Bar和Overlay Icon不太清晰,下面的比较清晰:
???? 这篇文章中,将会讲解这些功能的开发。
一、Windows7 SDK的安装
?????? MSDN上很容易找到SDK的下载地址,我就不贴了。SDK有1.44G,下载需要一点时间。安装过程也没什么可讲,就是安装完后在开始菜单中找到Microsoft Windows SDK v7.0-Visual Studio Registration-Windows SDK Configuration Tool,将v7.0设置为当前版本,这样VS中的Windows SDK将使用v7.0版。
二、创建ITaskbarList4接口对象
?????? 与任务栏按钮相关的功能都在这个接口中,Progress Bar, Overlay Icon等。首先创建一个Win32项目,并创建一个简单的窗口,具体不再赘述,文章末尾会给出代码。在WinMain函数的开头,注册一个TaskbarButtonCreated的消息,
//注册用户消息 WM_TASKBARBUTTONCREATED = :: RegisterWindowMessage (TEXT (TaskbarButtonCreated ));
这样我们在WndProc中就可以收到我们注册的 WM_TASKBARBUTTONCREATED 消息了。在这个消息中,创建 ITaskbarList4 接口对象,并调用初始化方法。至于COM相关的内容,已经超出了本教程的范围,有兴趣的可以参考相关资料。
//创建接口对象 ITaskbarList if (msg == WM_TASKBARBUTTONCREATED ){
文档评论(0)