[Win10] [C# Desktop] Deskband 測試,可以實現魯大師等任務欄嵌入窗口效果

概述

想必大家都很熟悉魯大師這樣的軟件,那麼用過的人肯定都會覺得一個功能很有用,就是它在任務欄語言欄位置顯示的一個小控件,用來監視一些系統資源的使用情況。肯定也有不少人想製作像它那樣的軟件,可是搜索的時候連個關鍵字都找不到,任務欄的這個位置到底叫什麼呢?通過一個偶然的機會,才找到它的學名—— DeskBand

但是令人難受的是,MSDN上有關其定製的資料少之又少,不過還好天無絕人之路,在Github上可以找到一個現成的版本CSDeskBand,這個人已經把相關功能打包的基本完美了,可以看看效果

當然博客園上上也有一個參考,我一開始看的就是這個,不過這個案例運行出來會有一個奇怪的問題,就是重啓explorer時,Deskband會自動隱藏,需要重新選定才能顯示出來:
C# Winform WPF DeskBand 窗體嵌入任務欄,在任務欄顯示文字

預覽

1709 Windows 4.7 .net framework 親測可用

通過搬遷原來的庫,目前我只實現了WPF的部分,效果如下

其實它最底下的窗口載體就是Winform的,套WPF的控件只是在上面加了一層 ElementHost來承載WPF控件而已。當鼠標在其上右鍵單擊時會彈出自定義的菜單項。

實現

因爲原來的庫中有非常多的方法用於生成日誌,所以我把原來的庫中只與創建Deskband和其它任務欄相關的方法搬了過來,這樣,整個類庫大概減少了一半大小。
現在還存在的問題是,通過這個方法創建的Deskband第一次使用時,重新啓動explorer後有一定機率會隱藏起來,除非活動過任務欄.。
而且不能將其加載到GAC中,否則在我的機器上 重啓後也會隱藏起來,需要重新選定。
使用的時候先生成,生成完後文件結構應該是這樣,tools中是regasm。

然後管理員運行bat應該就可以了。

項目 github

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章