A new operating system means new features and new APIs. Developer Kenny Kerr has posted on his blog a five-part
series for developers who want to get in touch with Windows Vista. (Kerr actually began with this article in MSDN Magazine but decided that he wanted to write more than the print publication's space constraints had allowed.)
Part 1: Aero Wizards -- "Aero wizards represent the evolution of the wizard interface first popularized by the Windows 95 family of operating systems. They provide a fresh new look to the common wizard interface and are designed to provide a more focused experience for users….I will show you how you can take a simple wizard and turn it into an Aero wizard with a minimal amount of code."
Part 2: Task Dialogs in Depth -- "Just as Aero wizards enable a better user experience compared to traditional wizards, so task dialogs enable a better user experience compared to the age-old message box. Task dialogs however offer so much more than the lowly message box ever did with a long list of features and customizability. Along with all this power comes a certain degree of complexity….I will show you how to use the task dialog API effectively to build all manner of dialog boxes simply and easily using native C++."
Part 3: The Desktop Window Manager -- " The DWM is responsible for the composition of windows on the desktop and the DWM API allows developers to control how composition affects a particular window. As you will see, the DWM is responsible for much more than just 'glass.' We will also look at the existing functionality for transparency that Windows Vista inherited from Windows 2000 and see how it complements the new DWM functionality."
Part 4: User Account Control -- "Windows 2000 introduced techniques for creating restricted tokens that can effectively limit the permissions and privileges afforded to an application. Windows XP introduced further improvements but it has simply not been pervasive enough to make any real difference for the average user….As developers we have a responsibility to embrace [UAC] so that the applications we develop don't annoy and desensitize our users with needless prompts….We are taking a practical look at UAC and specifically what can be done programmatically with respect to elevation and integrity control."
Part 5: Getting Started with Server Core: "I thought I'd take a little break from Windows Vista and talk about its big brother Windows Server and specifically Windows Server Core. Server Core is a new flavor of the upcoming release of Windows Server (which shares a large part of its code base with Windows Vista), that is intended to be a low-maintenance server environment used to play a single well-defined role such as that of a DNS server or file server where the presence of web browsers, calculators and other unnecessary applications only add to the overhead of maintaining and patching the server and add little value."