码迷,mamicode.com
首页 > Windows程序 > 详细

c#实现任务栏添加控制按钮

时间:2016-07-20 09:08:06      阅读:259      评论:0      收藏:0      [点我收藏+]

标签:

Windows7Taskbar的使用

你需要引入3个文件VistaBridgeLibrary.dll、Windows7.DesktopIntegration.dll、Windows7.DesktopIntegration.Registration.exe

下载地址:http://yunpan.cn/QauRaNK4H3BYW (提取码:fe58)

里面封装好的类:Windows7Taskbar、ThumbButtonManager、ThumbButton、JumpListManager、RegistrationHelper等等

Windows7Taskbar用于注册及初始化,ThumbButtonManager管理ThumbButton,包括创建添加按钮,JumpListManager历史记录,RegistrationHelper关联文件类型

实现步骤:

1.引用

using Windows7.DesktopIntegration;
using Windows7.DesktopIntegration.WindowsForms;

2.初始化(窗体Load时)

Windows7Taskbar.AllowTaskbarWindowMessagesThroughUIPI();
Windows7Taskbar.SetCurrentProcessAppId(
"TaskbarManaged");//里面的参数自定义

3.创建按钮

技术分享
ThumbButtonManager buttonManager=this.CreateThumbButtonManager();
ThumbButton taskbarBtnPause = buttonManager.CreateThumbButton(101, Properties.Resources.playtask, "播放");
taskbarBtnPause.Clicked += (sender, e) =>
{
  btnPlay_PictureClick(sender, e);
  if (IsPlay == true)//这里判断是否在播放,更新图标
  {
    taskbarBtnPause.Icon = Properties.Resources.playtask;
  }
  else
  {
    taskbarBtnPause.Icon = Properties.Resources.pausetask;
  }
};
buttonManager.AddThumbButtons(taskbarBtnPause);
技术分享

4.捕获信息

技术分享
protected override void WndProc(ref Message m)
{   
if (buttonManager != null)   buttonManager.DispatchMessage(ref m);   base.WndProc(ref m);
}
技术分享

效果图:技术分享

需要注意的是:

最多7个button, 没有方法添加或删除一个按钮,在你初始化以后, 只能让它不可用或隐藏.可以调用ThumbBarAddButtons和ThumbBarUpdateButtons方法来控制工具栏.

在窗体的Load时间里添加ThumbButton不会起作用,这就是为什么我不在窗体Load时添加ThumbButton的原因,并且每个ThumbButton都有一个ID,这个ID是你自己分配的,不能重复

遇到的问题:

我给taskbarBtnPause.Clicked添加了一个处理事件,也就是改变图标,结果是当触发该事件时ThumbButton的属性Icon修改了,但是界面没有更新

 技术分享

本文地址:http://www.cnblogs.com/liuxiaobo93/p/3914424.html 暮雨冰蓝

 

c#实现任务栏添加控制按钮

标签:

原文地址:http://www.cnblogs.com/androidshouce/p/5686969.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!