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