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

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 暮雨冰蓝

 

posted @ 2014-08-15 11:31  波谷  阅读(3658)  评论(1编辑  收藏  举报