Taking Advantage of Windows 7
Assuming your application runs on Windows 7, the optional next step is to take advantage of one or more of the myriad new features in Windows 7 that can give your users a better experience, while of course still supporting Windows XP or Vista where appropriate. To call out a few specific examples:
- Multi-touch: enabling your application to take advantage of new devices like the HP TouchSmart desktop and notebook that support gestures to zoom, manipulate and control a user interface.
- Taskbar: adding support for new taskbar features in Windows 7 such as jump lists, progress bars, icon overlays and custom thumbnails.
- Libraries: taking advantage of the new common file dialogs in Windows 7 that support the library model of virtualized views over multiple physical folders.
- Sensors and Location: new APIs that enable suitably-equipped machines to report ambient light, user proximity, accelerometers and even geographic location.
- Direct2D, DirectWrite and Ribbon: replacement libraries for 2D and text rendering as well as the Windows 7 ribbon control that is an evolution of the ribbon in Office 2007.
There are two main kits you’ll want to download and install on your developer workstation to take advantage of Windows 7:
- The primary resource remains the Windows SDK (available both as an ISO image and for web-based installation) – this provides headers and libraries, tools, documentation and samples for building for Windows 7 (as well as older releases). We’ve recently updated this to support the RC; although we’ll ship an updated version for the final release of Windows 7, this release is more than suitable for use for production development. You’ll find API reference documentation for all the features listed above, along with some new tools (such as a ribbon XML markup compiler). Most developers have a subset of the Windows SDK already installed as part of Visual Studio, but you’ll need to install this later build if you want to target new APIs in Windows 7.
- If you’re a .NET managed code developer, then you might be a little nervous of using the new Win32 COM-based interfaces and rather low-level samples included in the SDK. We’ve made great strides in Windows 7 to ensure that these interfaces are easier to consume from managed code, but nevertheless this can be somewhat daunting if you’re not acquainted with the COM interop libraries in .NET. The good news is that we’ve invested in building some great interop assemblies and helper classes to provide a seamless experience for .NET developing against Windows 7, and you can find the first fruits of this project in the Windows API Code Pack for .NET, available today from the MSDN Code Gallery. The current version includes support for many of the features listed above, with more coming both in future releases of the code pack and in a forthcoming release of the .NET Framework.