Windows 7 Training for Developers

Code: 50218
Course duration: 4 days

50218: Windows 7 Training for Developers (4 Days)

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.

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.

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.

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 Aren’t 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 user’s 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 system’s power consumption.
  • Apply appropriate power policies to the system.
  • Diagnose the system’s 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.

Guaranteed to Run

2018-03-20 09:00 to 2018-03-23 17:00
Palm Beach County Florida (Instructor-Led)
2018-03-19 09:00 to 2018-03-23 17:00
Secaucus, New Jersey (Virtual Instructor-Led)
2018-03-01 09:00 to 2018-03-02 17:00
Palm Beach County Florida (Instructor-Led)

Course Reviews

No reviews found for this course.

Be the first to write a review