使用Windows® API Code Pack for Microsoft® .NET Framework來擴充應用程式在Windows7工作列中的功能

摘要:使用Windows® API Code Pack for Microsoft® .NET Framework來擴充應用程式在Windows7工作列中的功能

自從我安裝完Windows 7 Ultimate 英文版RTM後,我就開始展開W7新功能的體驗之旅。

其中我覺得W7的工作列(TaskBar)似乎功能變多了,在W7你可以在工作列中直接看到應用程式運作的情形,程式設計師也可以在工作列加入自訂的快捷功能(例:打開過的歷史文件記錄、控制應用程式的開始、暫停、停止...等等、如下圖)。

圖片來源: MSDN Magazine

 

 

 

於是我找到了在MSDN Magazine的這篇文章

這篇文章提到如何用Taskbar APIs來擴充應用程式對工作列的功能提升,但對於較不熟練的人來說要使用P/Invoke的方式還是不容易的。

不過別擔心,您可以使用Windows® API Code Pack for Microsoft® .NET Framework來實作。

這是一個.NET Framework的類別庫,其主要支援的功能如下:

Windows® API Code Pack for Microsoft® .NET Framework

  • Windows 7 Taskbar Jump Lists, Icon Overlay, Progress Bar, Tabbed Thumbnails, and Thumbnail Toolbars.
  • Windows 7 Libraries, Known Folders, non-file system containers.
  • Windows Shell Search API support, a hierarchy of Shell Namespace entities, and Drag and Drop functionality for Shell Objects.
  • Explorer Browser Control.
  • Shell property system.
  • Windows Vista and Windows 7 Common File Dialogs, including custom controls.
  • Windows Vista and Windows 7 Task Dialogs.
  • Direct3D 11.0, Direct3D 10.1/10.0, DXGI 1.0/1.1, Direct2D 1.0, DirectWrite, Windows Imaging Component (WIC) APIs. (DirectWrite and WIC have partial support)
  • Sensor Platform APIs
  • Extended Linguistic Services APIs
  • Power Management APIs
  • Application Restart and Recovery APIs
  • Network List Manager APIs
  • Command Link control and System defined Shell icons.

沒有錯,這組類別庫包括:Windows 7工作列擴充、電源管理、網路管理、對話方塊的擴充...等等,裡有不少的功能。

不過第一個項目就是我們所需要的

以應用程式增加工作列暫停進度條(上圖黃色)功能來說,你只需要像以下這樣做即可

如果你想要在應用程式工作列加上開啟歷史文件的功能也可以這樣做

我個人認為這些功能對於使用者操作來說方便許多了,更多的功能及開發方法就留給大家自己體驗囉!