50218: Windows 7 Training for Developers
Four daysInstructor-led

About this Course
This four-day instructor-led course provides students with the knowledge
and skills to develop real-world applications on the Windows 7 operating
system, using managed and native code.
Windows 7 is the latest client operating system release from Microsoft.
Windows 7 offers improvements in performance and reliability, advanced
scenarios for user interaction including multi-touch support at the
operating system level, innovative hardware changes including sensor
support and many other features.
The course is packed with demos, code samples, labs and lab solutions to
provide an deep dive into the majority of new features in Windows 7, and
the primary alternatives for interacting with them from managed code.
Audience Profile
This course is intended for developers with Win32 programming experience
in C++ or an equivalent experience developing Windows applications in a
.NET language.
At Course Completion
After completing this course, students will be able to:
Design and implement applications taking advantage of the Windows 7
taskbar, shell libraries and other UI improvements.
Integrate location-based and general sensors into real-world
applications.
Augment applications with multi-touch support.
Integrate high-end graphics support into native Windows applications.
Design backwards-compatible applications for Windows 7 and earlier
versions of the Windows operating system.
Improve application and system reliability and performance by using
Windows 7 background services, instrumentation, performance and
troubleshooting utilities.
Prerequisites
Before attending this course, students must have:
At least cursory familiarity with Win32 fundamentals.
Experience in Windows C++ programming.
-or- Experience in Windows applications development in a .NET
language.
Course Outline
Module 1: Introduction to Windows 7
This module explains how to use the various new features of Windows 7,
how to prepare for the OS roadmap with regard to OS versions, bitness
and editions, and how the various Windows 7 features are presented
throughout the course.
Lessons
Windows Operating System Roadmap
Highlights of Improvements
Course Structure
After completing this module, students will be able to:
Prepare for the roadmap of Windows operating systems.
Highlight the primary new features of Windows 7.
Module 2: Win32 Programming Refreshment
This module explains how to use the Win32 application programming
interface (API) to interact with the Windows operating system, and how
to develop applications with better understanding of fundamental system
mechanisms.
Lessons
Win32 API Introduction
Objects and Handles
Processes and Threads
Synchronization Mechanisms
Windows and Window Classes
Window Messages
Structured Exception Handling
Other Interfaces to Windows
The Windows Shell
After completing this module, students will be able to:
Enumerate the main interfaces for interacting with the Windows OS.
Develop applications with better understanding of system mechanisms.
Module 3: Taskbar
This module explains how to use the Windows 7 taskbar for delivering
applications that light-up on Windows 7, taking advantage of numerous
user productivity features.
Lessons
Windows Taskbar History
Taskbar Design Goals
Taskbar Buttons and Application ID
Jump Lists
Overlay Icons and Progress Bars
Custom Thumbnail and Peek
Custom Switchers (MDI/TDI)
Lab : The Windows 7 Taskbar
Jump List Integration
Customizing Thumbnails
Taskbar Progress and Status
After completing this module, students will be able to:
Develop compelling applications taking advantage of the Windows 7
taskbar.
Customize application jump lists and taskbar buttons.
Provide custom thumbnail, peek and window switchers.
Module 4: Libraries and Federated Search
This module explains how to use shell libraries to better organize
similar data items, and how to take advantage of federated search to
provide quicker access to information within an enterprise.
Lessons
The New Windows Explorer
Library Overview
Common File Dialogs
Native and Managed Libraries API
Federated Search
Proper File Formats
Lab : Developing a Command Line Library Management Utility
SLUtil Command Line Utility for Library Management
After completing this module, students will be able to:
Properly interact with Windows libraries from managed and native code.
Create and customize libraries to provide a more intuitive user
experience.
Use federated search to bring information from various scopes to the
users' fingertips.
Module 5: Multi-Touch
This module explains how to use multi-touch enabled hardware to add the
next generation of user interaction to your applications, and how to
choose among the various modes of programmatic access to multi-touch in
Windows 7.
Lessons
Overview of Multi-Touch and its Roadmap
Control Panel Settings
Touch Scenarios (Good, Better, Best)
Gesture and Touch Support
Manipulation and Inertia
Windows Presentation Foundation (WPF)
User Experience Guidelines
After completing this module, students will be able to:
Prepare for the advent of multi-touch hardware and software.
Utilize multi-touch enabled hardware to design amazing user
interaction scenarios.
Choose the proper investment model (good, better, best) and the
appropriate APIs (gesture, manipulation, inertia, raw touch).
Module 6: Sensors and Location
This module explains how to use the Windows 7 Sensor and Location
Platform to interact with a variety of physical sensors providing
location information, ambient light, temperature and a variety of other
readings.
Lessons
The Sensor and Location Platform
Sensor Architecture in Windows 7
Working with the Sensor API
Location Architecture in Windows 7
Working with the Location API
Lab : Sensor-Enabled Racing Game
Adding Accelerometer Support to a Racing Game
After completing this module, students will be able to:
Describe scenarios for use of the Windows 7 Sensor and Location
Platform.
Take advantage of existing sensor hardware and integrate it in Windows
7 applications in a uniform manner.
Provide contextual information based on location readings.
Module 7: Scenic Ribbon
This module explains how to use the Windows 7 Scenic Ribbon to add an
Office-like appearance to your applications, streamlining the user
interaction and providing for a cleaner command-oriented user interface.
Lessons
The Ribbon Landscape
Scenic Ribbon API Overview and Architecture
Markup Syntax Overview
Integrating Scenic Ribbon into an Application
Lab : Integrating Scenic Ribbon
Creating an Empty Ribbon
Adding Controls to the Ribbon
Adding Groups to the Ribbon
After completing this module, students will be able to:
Integrate the Scenic Ribbon API and controls to existing Win32
applications.
Choose among the variety of Ribbon offerings (including WPF, Office
and MFC).
Design better user experiences with the Ribbon UI.
Module 8: Direct2D and DirectWrite
This module explains how to use latest advents in graphics hardware and
software to deliver compelling graphic experiences for 2D graphics and
text in Windows 7.
Lessons
The Windows 7 Graphics Platform
Direct2D
DirectWrite
Lab : Drawing with Direct2D
Draw Using Direct2D
Drawing and Combining Geometries
Drawing Direct2D on a GDI Surface
Lab : Formatting and Drawing Text Using DirectWrite
Drawing Simple Text
Drawing Multi-Formatted Text
Creating Custom Text Renderers
After completing this module, students will be able to:
Take advantage of the latest hardware to accelerate 2D-oriented
graphics applications.
Integrate Direct2D into GDI applications.
Deliver a great experience for drawing customized text with
DirectWrite.
Module 9: Application Compatibility
This module explains how to design and implement applications for
forward and backwards compatibility with Windows, and how to
troubleshoot common application compatibility scenarios with existing
applications.
Lessons
Why Arent Applications Compatible with Windows?
Windows 7 Compatibility Changes
Compatibility Guidelines
Compatibility Diagnostics
Windows 7 Logo Requirements
After completing this module, students will be able to:
Troubleshoot common application compatibility problems.
Design applications for forward and backwards compatibility.
Appreciate and implement the requirements of the Windows 7 Logo
program.
Module 10: User Account Control
This module explains how to use User Account Control to develop more
secure applications on Windows 7, and how to overcome the compatibility
problems introduced by User Account Control.
Lessons
Why Not Run as Admin?
User Account Control and The Standard User
Removing Unnecessary Elevation
Designing Applications for UAC
UAC Virtualization
Lab : Refactoring Privileges
Adding an Elevation Manifest
Refactoring Elevation into a Separate Process
After completing this module, students will be able to:
Design applications with User Account Control in mind.
Design applications for the standard user and remove unnecessary
elevation.
Factor out elevation in mixed-mode applications.
Troubleshoot compatibility problems caused by UAC.
Module 11: Background Services
This module explains how to design and implement background services on
Windows, and how to minimize the performance and security impact of
background activities on the users experience.
Lessons
Impact of Background Activities
Services vs. Tasks
Service Startup Types (Auto-Start, Delayed Auto-Start, Trigger-Start)
Service Performance and Security Goals
Task Triggers
Lab : Configuring a Trigger-Start Service
Registering a Service as Trigger-Start
Porting an Auto-Start Service to a Trigger-Start Service
After completing this module, students will be able to:
Port auto-start or manual-start services to trigger-start services.
Appreciate the performance and security impact of background
activities on the system.
Adjust service security privileges.
Register scheduled tasks with triggers and conditions.
Module 12: Energy Efficient Applications
This module explains how to minimize the power consumption impact of
applications on the system, and how to take advantage of the latest
Windows 7 features to instrument power consumption and energy
efficiency.
Lessons
Why Is Power Consumption Important?
Hardware and Software Power Savings
Coalescing Timers
Power State Notifications
Background Activities
Interfering with Power Transitions
Power Availability Requests
Power Policies
Power Efficiency Diagnostics
After completing this module, students will be able to:
Use a variety of methods to minimize the systems power consumption.
Apply appropriate power policies to the system.
Diagnose the systems power consumption and the root cause for failure
to standby.
Module 13: Instrumentation and Performance
This module explains how to use the Windows instrumentation mechanisms
to expose instrumentation and performance information from your
application, and how to use external troubleshooting tools to analyze
misbehaving applications or poor system performance.
Lessons
Performance Counters
Event Tracing for Windows and Event Log
Windows Management Instrumentation
Windows Performance Toolkit
Windows Troubleshooting Platform
Lab : Application Instrumentation
Instrumentation Using Performance Counters
Lab : Performance Analysis
First Steps with xperf (Windows Performance Toolkit)
Performance Analysis of Disk and CPU Utilization
After completing this module, students will be able to:
Expose instrumentation information using performance counters and
event tracing.
Develop management and instrumentation solutions using WMI.
Use the Windows Performance Toolkit to diagnose performance issues on
an application and system-wide scale.
Use the Windows Troubleshooting Packs to streamline diagnosis of
simple issues. |