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(, 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修改了,但是界面没有更新

c#实现任务栏添加控制按钮的更多相关文章
- 如何在Word表格中的某一栏添加背景颜色
如何在Word表格中的某一栏添加背景颜色 编写人:CC阿爸 2014-3-14 用鼠标选中某一个单元格然后右键单击 下拉菜单选择.<边框和低纹>然后点<低纹>选项卡 选中色卡 ...
- UIBarButtonItem导航栏添加按钮
1 前言 UIBarButtonItem为导航栏按钮,在导航栏的左侧和右侧,他们具有许多种不同的形状和形式. 2 代码讲解 ZYViewController.m [plain] (void)view ...
- Windows 10 任务栏添加网易云音乐控制按钮
软件背景: 算是老帖新发,之前有朋友分享过一个很好用的工具,但可能是因为网易云软件更新后,导致控件失灵了,只剩下歌词控件有用了,所以今天用python重新写了一个小工具,发出来分享给大家,附上之前 ...
- 使用vue给导航栏添加链接
如下面的导航栏,使用vue技术给该导航栏增加链接: js代码为: navigation:function(){ new Vue({ el: '#navUl', data: { menuData:{ ' ...
- 利用Jquery给当前页或者跳转后页面的导航栏添加选中后样式
具体的样式有两种情况,一种是直接给当前页面添加特殊样式,当网页刷新或者跳转到下一页后,样式消失:另一种情况是即使刷新页面后样式仍然有效. 直接上代码: 第一种情况: 在CODE上查看代码片派生到我的代 ...
- Ubuntu 启动栏添加eclipse图标
sudo gedit /usr/share/applications/eclipse.desktop [Desktop Entry] Name=Eclipse Comment=c project ma ...
- JavaScript--收藏栏添加按钮,放大hdu题目字体
觉得HDOJ的题目字体太小了,一波小操作 在收藏栏添加:添加网页->网址改为: javascript: void((function() { var element = document.get ...
- ubuntu12.04向左边栏添加图标(引用)
转自:http://forum.ubuntu.com.cn/viewtopic.php?f=86&t=317442 打开想添加的软件,图标会出现在侧边栏,右击之,点Keep In Launch ...
- foobar2000 频谱给我的win10 任务栏添加一点会动背景
在任务栏右键,"任务栏设置",颜色 -> 透明效果, 然后 foobar2000 的 view -> layout -> Quick Setup,选择带有Visu ...
随机推荐
- struts2之Action获取请求参数与web元素
文章思路清晰 http://blog.csdn.net/zeqblog/article/details/8665052
- 利用Octopress在Github上搭建博客及后续问题总汇
首先贴一下我的新博客地址: http://findingsea.github.io 用Octopress在GitHub上搭建博客已经不是什么新鲜事了,网上的教程也多了去了,大题的方法什么都差不多,这篇 ...
- 设计模式中类的关系UML
在java以及其他的面向对象设计模式中,类与类之间主要有6种关系,他们分别是:依赖.关联.聚合.组合.继承.实现.他们的耦合度依次增强. 1. 依赖(Dependence) 依赖关系的定义为:对于两 ...
- xiaochengxubeijingt
- Servlet实现前后端交互的原理及过程解析
在日常调试项目时,总是利用tomcat去启动项目,并进行前后端联调,但对于前后端的请求响应的交互原理及过程并不是特别清晰. 为什么在前端发出相应请求,就能跳转到后端通过程序得到结果再响应到前端页面呢? ...
- Linux-vim与ssh客户端
一.vim使用 Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样,它的强大不逊色于任何最新的文本编辑器. (1)vim安装 (2)vim使用:操作模式 一般模式(默认模式,不 ...
- 闪回事务(Flashback Transaction)
到目前为止,介绍的所有功能均不会直接将数据恢复为“以前”的样子.闪回查询只是查看,闪回数据归档只是延伸了闪回查询的时间窗口,闪回事务查询虽然提供了撤销SQL,但是否执行及如何执行还需要管理员进一步手动 ...
- YYModel源代码阅读--基础知识
这段时间因为工作需要,阅读了YYModel这个开源框架,至于它能做什么,最直白的讲述就是JSON与Model之间的相互转化. 源代码在Github,大家可以自行git clone或者download. ...
- Java基础知识陷阱(八)
本文发表于本人博客. 这次我来说说关于&跟&&的区别,大家都知道&是位运算符,而&&是逻辑运算符,看下面代码: public static void m ...
- HDU 2191 珍惜现在,感恩生活(多重背包模板题)
多重背包模板题 #include<iostream> #include<cstring> #include<algorithm> using namespace s ...