Overview

Windows 7 introduces a new Taskbar concept which greatly improves the usability of Windows applications.

Taskbar.png

Not only these new concepts are implemented in Microsoft applications like Internet Explorer, Windows Media Player, Windows Live Messenger, etc. but also they are exposed to 3rd parties via unmanaged (COM and Win32) Taskbar Extensions APIs. The new functionalities introduced are: The goal of this project to provide a managed .NET API on top of this unmanaged API. The project is implemented in C# and can be referenced from any .NET Windows application.

Features

The following features are currently implemented in this library:

Quick Start

Windows Forms
  • Add a reference to Huseyint.Windows7.WindowsForms.dll assembly in your Windows Forms Application project,
  • In your application's Main entry method, resides in Program.cs by default, add a call to TaskBarExtensions.Attach() method as follows:
public static class Program
{
    [STAThread]
    public static void Main()
    {
        TaskBarExtensions.Attach();
        
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new MainForm());
    }
}
  • From there on you can call other methods on TaskBarExtensions anywhere in your application
WPF
  • Add a reference to Huseyint.Windows7.WPF.dll assemby in your WPF Application project,
  • In XAML file of your application's main window,
    • add XML namespace declaration to library like xmlns:win7="http://huseyint.com/windows7/2009/taskbar"
    • then add TaskbarExtensions.TaskbarButton attached property to your <Window /> element
<Window x:Class="WpfApplication1.Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:win7="http://huseyint.com/windows7/2009/taskbar"
        Title="Window1" Height="300" Width="300">
    <win7:TaskbarExtensions.TaskbarButton>
        <win7:TaskbarButton OverlayIcon="{Binding CurrentOverlayIcon}" />
    </win7:TaskbarExtensions.TaskbarButton>
    <Grid>
        <!-- Your window markup here -->
    </Grid>
</Window>
CurrentOverlayIcon property in this example is a (Dependency) property probably in you main window's view model class
Copyright &copy; 2009 Hüseyin Tüfekçilerli - huseyint.com

Last edited Feb 21, 2009 at 8:20 PM by huseyin, version 7