50
Nahtlose Integration in Windows 7 Ein Durchflug für .NET Entwickler Peter Kirchner, Microsoft blogs.msdn.com/pkirchner

Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch

Nahtlose Integration in Windows 7 Ein Durchflug für .NET Entwickler

Peter Kirchner, Microsoft blogs.msdn.com/pkirchner

Page 2: Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch

Neue und aktualisierte APIs in Windows 7

Active Directory Rights Management Services

Biometric Service API

COM

Core Windows

Enhanced Storage

Enhanced Taskbar

Event Tracing for Windows (ETW)

Extended Linguistic Services

File Server resource Manager

Hardware Counter Profiling

Hyper-V

Internet Explorer

Location API

Mobile Broadband

Native Wifi

Network Share Management

Packaging

Parental Controls

Peer Distribution

Performance Counters

Power Management

Scenic Animation

Sensor API

Virtual Disk Service

Virtual Hard Disk

Volume Shadow Copy Service

Windows Connect Now

Windows Error Reporting

Windows Event Log

Windows Gadget Platform

Windows Installer

Windows Scenic Ribbon

Windows Touch

Windows Troubleshooting Platform

Windows Web Services

XPS Documents

Page 3: Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch

Agenda – Auswahl für heute

Bibliotheken

Taskbar

Shell

Federated Search

Multitouch

Page 4: Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch
Page 5: Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch

© Copyright 2009 Microsoft Corporation. Alle Rechte vorbehalten.

MSDN Webcasts: http://www.msdn-online.de/webcasts

Page 6: Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch

© Copyright 2009 Microsoft Corporation. Alle Rechte vorbehalten.

MSDN Webcasts: http://www.msdn-online.de/webcasts

Page 7: Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch

© Copyright 2009 Microsoft Corporation. Alle Rechte vorbehalten.

MSDN Webcasts: http://www.msdn-online.de/webcasts

Page 8: Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch

© Copyright 2009 Microsoft Corporation. Alle Rechte vorbehalten.

MSDN Webcasts: http://www.msdn-online.de/webcasts

Page 9: Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch

Windows Shell

Die Windows Shell ist das Tor für Nutzer und Entwickler zum System

Ordner und Dateien des lokalen Systems erreichen

Virtuelle Objekte wie Netzwerkdrucker, Computer im Netzwerk, Systemsteuerung, Papierkorb

Der Windows Explorer ist eine grafische Darstellung des Shell-Namensraums

Page 10: Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch

BIBLIOTHEKEN

Page 11: Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch

Bibliotheken

In bisherigen Windows-Versionen haben Benutzer Dateien in “Bekannten Verzeichnissen” abgelegt

Dokumente, Bilder, Musik, Videos

Allerdings gibt es davon mindestens jeweils zwei Ordner

Der persönliche Ordner

Der öffentliche Ordner

Page 12: Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch

Der “neue” Windows Explorer

Page 13: Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch

APIs für Bibliotheken

Alle Funktionen der Shell (Windows Explorer) auch programmatisch verwendbar

Die Shell stellt einige COM-Objekte und Hilfsfunktionen zur Verfügung:

Neue Bibliotheken erstellen

Existierende Bibliotheken öffnen

Ordner einer Bibliothek hinzufügen oder entfernen

Ordnerliste einer Bibliothek abfragen

Bibliothekseinstellungen lesen oder setzen

Bibliothekssymbol lesen oder setzen

Page 14: Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch

Windows Shell

Bibliotheken verwalten

Page 15: Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch

Bibliotheken - Interna

Informationen von Bibliotheken in XML-Dateien gespeichert

.library-ms: Datenstruktur kann sich ändern

APIs zum Verwalten von Bibliotheken

By Design:

Benachrichtigungen für Löschen, Umbenennen oder update verwenden

<libraryDescription>

<name>@shell32.dll,-34575</name>

<isLibraryPinned>-1</isLibraryPinned>

<iconReference>imageres.dll,-1002</iconReference>

<folderType>{7d49d726-3c21-4f05-99aa-fdc2c9474656}</folderType>

Page 16: Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch

Kategorie Spontanes Wissen

Antwort:

Rhinotillexomanie

Frage:

Was ist zwanghaftes Nasebohren?

Page 17: Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch

TASKLEISTE

Page 18: Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch

Designziele für die neue Startleiste

Eine Startoberfläche für die Anwendungen und Ziele

Am meisten benutzte Elemente “auf Fingertipp”

Einfach kontrollierbar

Verwalten der Fenster mit einfachsten Mitteln

Sauber, störungsfrei und einfach

Evolution

Neue Design Guidelines

Neue Erweiterungsmöglichkeiten

Page 19: Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch

Startleisten-Schaltflächen

Konsolidierung

Schnellstart

Symbole im Benachrichtigungsbereich

Desktop-Verknüpfungen

Laufende Anwendungen

Laufende Anwendung

Nicht laufend

Mehrere Fenster

Aktive Anwendung

Page 20: Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch

Wie sieht die Zielgruppe aus?

Mehr als 90% aller Sessions haben weniger als 15 gleichzeitig geöffnete Fenster

Mehr als 70% aller Sessions haben weniger als 10 Fenster gleichzeitig geöffnet

Nicht-Standard-Optionen wurden nur von max. 10% aller Benutzer verwendet

Page 21: Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch

Wie werden Fenster gruppiert? Application ID

Zeichenkette, keine GUID

Max. 128 Zeichen

Namenskonvention

Company.Product.SubProduct.Version

Betrifft alle Anwendungskomponenten

Prozesse, Verknüpfungen, Fenster, Taskbar-Schaltflächen, Dokumenttypen

Page 22: Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch

Application ID – Design

Standard: Ableitung vom Prozessnamen

Anpassungsmöglichkeiten:

Verschiedene exe-Dateien, aber gleiche Anwendung

Gleiche exe-Datei (Host), aber verschiedene Anwendungen

Verschiedene Verknüpfungen

Page 23: Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch

Applikations-ID setzen

Prozessweit– betrifft alle Fenster im aktuellen Prozess:

#include <windows.h> #pragma comment (lib, "shell32.lib") SetCurrentProcessExplicitAppUserModelId( L"Microsoft.Samples.AppId1");

TaskbarManager.Instance.ApplicationId = "Microsoft.Samples.AppId1";

Page 24: Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch

Applikations-ID für Fenster

PROPVARIANT pv; InitPropVariantFromString( L"Microsoft.Samples.AppId2", &pv); IPropertyStore *pps; HRESULT hr = SHGetPropertyStoreForWindow( hWnd, IID_PPV_ARGS(&pps)); pps->SetValue(PKEY_AppUserModel_ID, pv);

TaskbarManager.Instance. SetApplicationIdForSpecificWindow(this, "Microsoft.Samples.AppId2");

Page 25: Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch

Applikations-ID

… und die Auswirkungen auf der Taskbar

Page 26: Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch

Sprunglisten

Ziele (destinations)

Aufgaben (tasks)

Zuletzt verwendete Kategorien

Benutzerdefinierte Kategorien

Benutzeraufgaben

Startleisten Aufgaben

Angeheftete Kategorie

Page 27: Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch

Sprunglisten – Design

Darstellung von Schlüsselzielen und -aufgaben

Zuletzt und häufig genutzt: automatisch!

Anpinnen: ebenfalls automatisch!

Wenn der Benutzer es verwendet…

Vom Nutzer entfernte Dokumente respektieren!

Gewöhnung sehr, sehr schnell!

Sprunglisten erster Anlaufpunkt für Dokumente!

Häufige Aufgaben werden ebenfalls erwartet

Page 28: Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch

Mehr aus Startleisten-Schaltflächen herausholen

Ordentlicher Benachrichtigungsbereich

Bietet Fortschrittsanzeige und zusätzliche Informationen durch die Schaltfläche an

Kein Aufwand, wenn man den Standardfortschritts-Dialog verwendet.

Page 29: Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch

Startleiste Overlay und Fortschritt

Benachrichtigungsbereich ist vom Benutzer konfigurierbar:

Am besten nicht nutzen und sich raushalten !

Schaltflächen für angepassten Fortschritt oder Statusinformationen

Page 30: Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch

Live Thumbnails

Live Thumbnails: Eine “live” Vorschau

Windows Vista: Ein Thumbnail pro Fenster

Windows 7: Gruppierte Thumbnails

Page 31: Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch

Symbolleisten im Thumbnail

“Fernsteuerung” von der Taskbar aus

Page 32: Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch

Kompatibilität und Migration

Schnellstartleiste (Quick Launch) ist veraltet

Benachrichtigungsbereich (notification area) übersichtlich behalten

Richtige Datei-Registrierung sehr wichtig für “häufige genutzte” Dateien und Kategorien

Benutzer erwarten Ziele und Aufgaben in Sprunglisten

Sollten Unterfenster eigene Thumbnails besitzen?

Schlechte Beispiele:

Microsoft Visual Studio 2008

Microsoft Office Outlook 2007

Page 33: Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch

Die neue Toolbar

Page 34: Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch

FEDERATED SEARCH

Internet und Intranet Suchen vereinheitlicht auf dem Desktop

Page 35: Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch

Federated Search Konsistente Experience über diverse Suchen

Dokumenten-

container

Firmen-

anwendungen

Zentraler Ort für

Firmendokumente

Page 36: Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch

Wie Federated Search funktioniert

Rich Client Experience

Vorschau, Metadata, Drag-and-Drop

Einfache Integration

Kein Client Code

Jede Server Plattform

Standards-basiert

OpenSearch 1.1

RSS und ATOM

Authentication

Integriert oder benutzerdefiniert

3. RSS-Ergebnis wird

vom Server geliefert

Page 37: Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch

Beispiel

<?xml version="1.0" encoding="UTF-8"?>

<OpenSearchDescription

xmlns="http://a9.com/-/spec/opensearch/1.1/">

<ShortName>Der Evangelist</ShortName>

<Description>Der mit dem komischen Hut</Description>

<Language></Language>

<Url

type="application/rss+xml" template=

"http://www.der-evangelist.de/?s={searchTerms}&amp;feed=rss2"/>

</OpenSearchDescription>

Page 38: Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch

Federated Search

Page 39: Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch

Kategorie Spontanes Wissen

Antwort:

Monaco

Frage:

Was heißt München auf italienisch?

Page 40: Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch

MULTITOUCH

Page 41: Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch

WPF 4 Multitouch

UIElement wurde angepasst

Manipulation Events (Verfolgung und Interpretation)

Reine Touch Input Events (Eigene Verarbeitung aller Daten)

Multitouch-Unterstützung in Steuerelementen

Basis-Steuerelemente für Multitouch angepasst

ScrollViewer kann Pan-Gesten verarbeiten

Neue Multitouch-Steuer elemente (z.B. ScatterView)

Kompatibel mit Surface SDK 2.0

Page 42: Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch

Windows 7 Release .NET 4 / Surface 2.0 Release

Multitouch

Controls

Multitouch API

Surface

Multitouch

Controls & API

Multi-Touch API

Multitouch API and Controls

Touch Development Roadmap

Page 43: Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch

Manipulations Events Lifecycle

Starting Started Delta Inertia

Starting Delta Completed

StartInertia() StartInertia()

Touch Down (Initial)

Touch Move Touch Up

(All)

Initialize

Completed()

Page 44: Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch

DEMO MULTITOUCH

Page 45: Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch

Zentrale Anlaufstelle für Softwarehersteller – Individual- und Weblösungen

– Standard-Softwareanwendungen

schnell und effizient Lösungen auf Basis neuster Microsoft-Technologien entwerfen

www.microsoftplatformready.com/de

Entwickeln

• Zugang zu Beta-Software

• Individuelle Unterstützung durch regionale Briefings für Entscheider und Camps für Entwickler

Testen

• Zertifizierung Ihrer Produkte durch integrierte, kostenlose Selbsttests

Vermarkten

• Exklusiver Zugang zu Marketing- und Vertriebsangeboten

• Aufnahme in weltweite und deutsche Lösungskataloge

Microsoft Platform Ready

Page 46: Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch

Verfügbare Plattformen

Page 47: Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch

Kategorie Spontanes Wissen

Antwort:

Hello Kitty-Armband

Frage:

Was tragen thailändische Polizisten zur Strafe, wenn sie zu spät zum Dienst erscheinen oder falsch parken?

Page 49: Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch

Kontakt

E-Mail: [email protected]

Windows 7 Anwendungskompatibilität: [email protected]

Blogs:

http://blogs.msdn.com/pkirchner

http://blogs.msdn.com/softwarehersteller

Page 50: Windows 7 Features · Kompatibel mit Surface SDK 2.0 .NET 4 / Surface 2.0 ReleaseWindows 7 Release Multitouch Controls Multitouch API Surface Multitouch Controls & API Multi-Touch

Es gibt keine großen Entdeckungen und Fortschritte, solange es noch ein unglückliches Kind auf Erden gibt.

There ´s no such thing as a discovery or progress as long as

we have bitterly unhappy children on earth.

Er zijn geen grote ontdekkingen en geen vooruitgang, zolang er op deze wereld nog één kind ongelukkig is.

(Albert Einstein)