windows7
就要發布了,近期,就要和
ms 組織一次社群
win7
發布活動,正好這次也講
win7
的taskbar
開發,所以就把要講的東西組織成
blog
,分享給出來,以供參考。
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
對於windows7 taskbar
的開發功能是基於
com 元件來實現的,這些組織提供了操作
windos7
特性的一些功能。開發人員只要對
com 操作就可以,但更為幸福的是,微軟已經開發出一些
kit ,我們直接用這些
kit ,就可以用
c# 對
windos7
的新功能進行程式設計了。
對於這個
kit ,可以從
其中的windowsapicodepack
和registrationhelper
是封裝taskbar
操作的專案,我們直接用他們的
dll 或
exe 就可以。
在做jumplist
時,我們用到
microsoft.windowsapicodepack.dll
,microsoft.windowsapicodepack.shell.dll
和windows7.desktopintegration.registration.exe
當新建乙個
wpf 應用程式時,需要在引用中新增這三個可執行檔案。
在對工作列編和前,先來認識一下
,在win7
中,不是視窗的唯一標識,也不是它的
guid
, 只是一串用來標識窗體的字串。它最大長度為
128 個字元,我們來命名
時,遵循的約定為「
company.product.subproduct.version
」。這個
可以和程序,程式的快捷方式,窗體,
jumplist
,文件註冊型別等關聯起來。
在用以前,必需先註冊它,本質上這個註冊是對登錄檔的操作。
具體代如下:
static registrykey classesroot;
string openwith)
關於win7
的taskbar
有幾種效果,下面分別來說一下。
jumplist
效果圖如下。
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
在圖中,下方的三個選項是系統預設就有的,常用和任務,則是必需寫**來完成的。其實
jumplist
就是提供了一組快鍵方式。並且對快鍵方式進行分組分類。
首先來說一下新增和清除任務項,任務就是應用程式外的其他小工具的便鍵呼叫。
首先要註冊一下
,名稱為
要有乙個
jumplist
物件private microsoft.windowsapicodepack.taskbar.jumplist jumplist = microsoft.windowsapicodepack.taskbar.jumplist.createjumplist();
jumplist.refresh();
現在來實現新增任務列表
string systemfolder = environment.getfolderpath(environment.specialfolder.system);
// 建立計算器
ijumplisttask calctask = new jumplistlink(path.combine(systemfolder, "calc.exe"), "
開啟計算器
") ;
jumplist.addusertasks(calctask, new jumplistseparator());
jumplist.refresh();
清除任務列表如下
jumplist.clearallusertasks();
jumplist.refresh();
上面這些類,都是
microsoft.windowsapicodepack.dll
和microsoft.windowsapicodepack.shell.dll
封裝的,這兩個專案都是開源的。其實真正新增任務的工作(包括後面自定義
category
)都是jumplist.refresh()
這個方法完成的。
不防我們來看一下,運用
vs 地「轉到定義」會轉到乙個名為「
taskbarcominte***ces
」的乙個頁面。
其中有如下**:
[comimportattribute()]
[guidattribute("6332debf-87b5-4670-90c0-5e57b408a49e")]
[inte***cetypeattribute(cominte***cetype.inte***ceisiunknown)]
internal inte***ce icustomdestinationlist
可以看到,在
win7
中,jumplist
的程式設計是通過
com 元件來實現的。
我為簡單,建議開發時用
ms 封裝好的
kit ,這樣程式設計更高效。
自定義category
,通常是把自己的型別或系統識別的型別新增成快捷方式。操作**如下:
//建立自己定義
category
jumplistcustomcategory mycategory;
private void addcategory_but_click(object sender, routedeventargs e)
//建立子型別
private void subcategory_but_click(object sender, routedeventargs e)
//建立子連線
private void addlink_but_click(object sender, routedeventargs e)
使用Windows 7中的庫
windows7中的庫功能讓管理檔案和資料夾變得簡單。今天我們就來看看如何使用庫,如何把網路共享的盤新增到庫中。windows7中的庫讓你更方便地管理散落在你電腦裡的各種檔案。你再也不必開啟層層的資料夾尋找你要的檔案了,只要新增到庫中就可以方便地找到它們了。如果windows7你用的時間不短,經常在...
windows7 技巧收藏
一 windows鍵 空格鍵 space 作用 透明化所有視窗,快速檢視桌面 並不切換 快捷鍵 win 空格 小結 當你開啟了很多程式視窗的時候,這招非常有用,而且桌面還會有華麗的光影效果哦。沒用過的趕緊試試先 二 windows鍵 d 作用 最小化所有視窗,並切換到桌面,再次按又重新開啟剛才的所有...
windows7命令雜項
ncpa.cpl 開啟網路連線 tracert 路由追蹤 pathping.exe 包含ping和tracert的程式 winver 檢查系統版本 mstsc 遠端工具 區域網內測試很好用 control 開啟控制中心 taskmgr 開啟任務管理器 devmgmt.msc 開啟裝置管理器 disk...