Construire une application Windows 7download.microsoft.com/documents/France/MSDAYS/2009/...•...

39
Quoi de neuf coté développement avec Windows 7 Eric Vernié Relation technique développeurs http://blogs.microsoft.com/devpara Microso ft France

Transcript of Construire une application Windows 7download.microsoft.com/documents/France/MSDAYS/2009/...•...

Page 1: Construire une application Windows 7download.microsoft.com/documents/France/MSDAYS/2009/...• Lancement facile et rapide des applications • Gestion des fenêtres plus aisée •

Quoi de neuf coté développement avec Windows 7Eric VerniéRelation technique développeurshttp://blogs.microsoft.com/devparaMicroso ft France

Page 2: Construire une application Windows 7download.microsoft.com/documents/France/MSDAYS/2009/...• Lancement facile et rapide des applications • Gestion des fenêtres plus aisée •

Construire une application Windows 7

Multitouches*

Capteurs*

Ruban Windows

Graphique

Barre des tâches

Windows

Bibliothèques

Fondamentaux

Contrôle de version

Contrôle de compte

utilisateur

Composants retirés

Etre Compatible

Optimiser

Différencier

*Session Nouvelles expériences numériques (Mitsu Furuta)

Page 3: Construire une application Windows 7download.microsoft.com/documents/France/MSDAYS/2009/...• Lancement facile et rapide des applications • Gestion des fenêtres plus aisée •

Vérification de la Version (La version de Windows est 6.1)

Contrôle de compte utilisateur• Jeton filtré et élévation de privilèges

• Redirection de données

Privilège de l' interface utilisateur

Isolation Session 0

Etre Compatible : De Windows XP à Windows 7

Il y a aussi quelques issues de compatibilité avec Windows Vista ®

Page 4: Construire une application Windows 7download.microsoft.com/documents/France/MSDAYS/2009/...• Lancement facile et rapide des applications • Gestion des fenêtres plus aisée •

Contrôle de compte utilisateurVérification de version

Page 5: Construire une application Windows 7download.microsoft.com/documents/France/MSDAYS/2009/...• Lancement facile et rapide des applications • Gestion des fenêtres plus aisée •

Vérification de la Version

High DPI

Modification bas niveau• Pile réseau bas niveau

• Antivirus

Composants retirées• Windows Mail

• Windows Movie Maker

• Microsoft Agent (msagent.exe)

Etre Compatible : De Windows Vista à Windows 7

Page 6: Construire une application Windows 7download.microsoft.com/documents/France/MSDAYS/2009/...• Lancement facile et rapide des applications • Gestion des fenêtres plus aisée •

• Windows Application Compatibility Centerhttp://msdn.microsoft.com/en-us/windows/aa904987.aspx

• Application Compatibility on TechNethttp://technet.microsoft.com/en-us/windows/aa905066.aspx

• Application Compatibility Online Remediationhttp://readyset7.com/workshops

• Application Compatibility in Windows 7 Training Kithttp://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=1c333f06-fadb-4d93-9c80-402621c600e7

Etre Compatible

Page 7: Construire une application Windows 7download.microsoft.com/documents/France/MSDAYS/2009/...• Lancement facile et rapide des applications • Gestion des fenêtres plus aisée •

• Application restart and recovery with Restart Manager

• I/O priorities and cancelable I/O

• File System and Registry Transaction Support

• Event Tracing for Windows (ETW) – high-performance instrumentation

• Windows Error Reporting

• Trigger-Start Services

• Plate-forme de résolution de problème de Windows

• Gestion efficace de la consommation

Optimisé : Quelques fondementaux

Page 8: Construire une application Windows 7download.microsoft.com/documents/France/MSDAYS/2009/...• Lancement facile et rapide des applications • Gestion des fenêtres plus aisée •

Application Recovery & Restart

• Permet l’exécution de certaines actions lorsque l’application CRASH !!

• Si l’application a été enregistrée, le système peut la redémarrer automatiquement

HRESULT WINAPI RegisterApplicationRestart( PCWSTR pwzCommandline, DWORD dwFlags );

HRESULT WINAPI RegisterApplicationRecoveryCallback( APPLICATION_RECOVERY_CALLBACK pRecoveyCallback, PVOID pvParameter, DWORD dwPingInterval, DWORD dwFlags );

Page 9: Construire une application Windows 7download.microsoft.com/documents/France/MSDAYS/2009/...• Lancement facile et rapide des applications • Gestion des fenêtres plus aisée •

Application restart and Recovery Manager

Page 10: Construire une application Windows 7download.microsoft.com/documents/France/MSDAYS/2009/...• Lancement facile et rapide des applications • Gestion des fenêtres plus aisée •

• Permet d’envoyer des rapports d’erreur sur un serveur Microsoft : https://winqual.microsoft.com/default.aspx

• Existait déjà avec Windows XP, mais il y a du nouveau

• Outil Problem Reports and Solutions

• WerCreateReport() permet de créer un rapport pour tous type d’évènements

• Les rapports peuvent êtrepersonnalisés (Ajout de fichiers, de dump)

• L’interface peut êtrepersonnalisée

• Peut-être désactivé par codeou par clé dans le registre

• http://msdn2.microsoft.com/en-us/library/bb513638.aspx

Windows Error Reporting

Page 11: Construire une application Windows 7download.microsoft.com/documents/France/MSDAYS/2009/...• Lancement facile et rapide des applications • Gestion des fenêtres plus aisée •

• Transaction disponible sous forme d’objet Kernel

• Fournit des services de transaction à des composants systèmes tel que TxF

• Peux communiquer avec DTC pour des transactions distribuées

• Transaction NTFS (TxF)

• Intègre les transactions dans la gestion des fichiers NTFS

• Transaction du Registre (TxR)

• Intègre les transactions pour les écriture dans le registre

Kernel Transaction Manager

Page 12: Construire une application Windows 7download.microsoft.com/documents/France/MSDAYS/2009/...• Lancement facile et rapide des applications • Gestion des fenêtres plus aisée •

InfrastructureKernel KTM

CLFS

NTFS Registry

KtmRm KtmW32

DTC

Native

Manage

d System.Tx LTM

WCF

SMB2

MSMQ

SQL

Page 13: Construire une application Windows 7download.microsoft.com/documents/France/MSDAYS/2009/...• Lancement facile et rapide des applications • Gestion des fenêtres plus aisée •

• CeateTransaction()

• TxF

• CreateFileTransacted()

• CopyFileTransacted()

• MoveFileTransacted()

• DeleteFileTransacted()

• ..

• TxR

• RegOpenKeyTransacted()

• RegCreateKeyTransacted()

• ..

Kernel Transaction Manager

Page 14: Construire une application Windows 7download.microsoft.com/documents/France/MSDAYS/2009/...• Lancement facile et rapide des applications • Gestion des fenêtres plus aisée •

Les services d’arrière plan peuvent affecter les performances, la sécurité et la consommation

• Vous voulez minimiser le nombre de services qui tournent à un instant T

• Vous voulez minimiser l 'emprunte mémoire

Les types de démarrage• Windows XP – Auto-Start / Manuel

• Windows Vista – XP + Auto-Start retardé

• Windows 7 – Windows Vista + Trigger-Start

Triggers disponibles• Domain join, IP address available, device arrival,

group policy change, and custom

Trigger-Start Services

Page 15: Construire une application Windows 7download.microsoft.com/documents/France/MSDAYS/2009/...• Lancement facile et rapide des applications • Gestion des fenêtres plus aisée •

Windows 7 Trigger-Start Services

Page 16: Construire une application Windows 7download.microsoft.com/documents/France/MSDAYS/2009/...• Lancement facile et rapide des applications • Gestion des fenêtres plus aisée •

Expérience de dépannage cohérente• Réduction des coûts, augmentation de la satisfaction cliente

• Diagnostique automatique standard

Scripts personnalisés• Basés sur Windows PowerShell™ scripts, tout est possible ;-)

• Concepteur Windows de dépannage (TSPDesigner.exe -> SDK)

• S'intègre facilement à votre application

Plusieurs assistants de dépannage disponibles• Dépannage de problèmes communs

Plate-forme d’Assistance aux dépannages

Page 17: Construire une application Windows 7download.microsoft.com/documents/France/MSDAYS/2009/...• Lancement facile et rapide des applications • Gestion des fenêtres plus aisée •

Assistant de dépannage

Page 18: Construire une application Windows 7download.microsoft.com/documents/France/MSDAYS/2009/...• Lancement facile et rapide des applications • Gestion des fenêtres plus aisée •

Une bibliothèque est une collection de répertoires

• Les répertoires sont regroupés par intérêt

• Les données peuvent être n'importe ou

Pratique et simple à mettre en place

CComPtr<IShellLibrary> Win7shellLibrary;

CComPtr<IShellItem> Win7ShellItem;

hr=Win7shellLibrary->SaveInKnownFolder (FOLDERID_Libraries,lpzNomLibrairie,LSF_OVERRIDEEXISTING,&Win7ShellItem);

Win7shellLibrary->Commit ();

Bibliothèques

Page 19: Construire une application Windows 7download.microsoft.com/documents/France/MSDAYS/2009/...• Lancement facile et rapide des applications • Gestion des fenêtres plus aisée •

Bibliothèques dans Windows Explorer

Page 20: Construire une application Windows 7download.microsoft.com/documents/France/MSDAYS/2009/...• Lancement facile et rapide des applications • Gestion des fenêtres plus aisée •

Le nouveau explorateur Windows La recherche fédérée

Bibliothèques

Vues Recherche instantanée

Prévisualisation

Méta-données

Recherche

fédérée

Page 21: Construire une application Windows 7download.microsoft.com/documents/France/MSDAYS/2009/...• Lancement facile et rapide des applications • Gestion des fenêtres plus aisée •

La recherche fédérée

Page 22: Construire une application Windows 7download.microsoft.com/documents/France/MSDAYS/2009/...• Lancement facile et rapide des applications • Gestion des fenêtres plus aisée •

• Améliore l’expérience utilisateur

• Lancement facile et rapide des applications

• Gestion des fenêtres plus aisée

• Bureau plus léger

• Lignes directrices standard• Suivies par tous les produits Microsoft

La nouvelle barre des tâches de Windows 7

Page 23: Construire une application Windows 7download.microsoft.com/documents/France/MSDAYS/2009/...• Lancement facile et rapide des applications • Gestion des fenêtres plus aisée •

Fonctionnalités principales

• Superposition d’icones et barre de progression

• Jump list (destinations, tâches)

• Vignette de prévisualisation

• Vignette personnalisable

Astuce de conception

• Icones haut-déf

• Forget about Quick Launch and the system tray

Fonctionnalités barre des tâches de Windows®

Page 24: Construire une application Windows 7download.microsoft.com/documents/France/MSDAYS/2009/...• Lancement facile et rapide des applications • Gestion des fenêtres plus aisée •

Barre des tâches

Page 25: Construire une application Windows 7download.microsoft.com/documents/France/MSDAYS/2009/...• Lancement facile et rapide des applications • Gestion des fenêtres plus aisée •

• La consommation mémoire de DWM a été coupée de 50% par fenêtre.

• Tire profit du GPU

• Support du High-DPI & high color

• Intéropérabilité entre les technologies

Améliorations Graphiques

Direct2D

Direct3D Segoe UIDirectWrite

DXVA & WIC

Page 26: Construire une application Windows 7download.microsoft.com/documents/France/MSDAYS/2009/...• Lancement facile et rapide des applications • Gestion des fenêtres plus aisée •

Nouvelle pile graphique

Page 27: Construire une application Windows 7download.microsoft.com/documents/France/MSDAYS/2009/...• Lancement facile et rapide des applications • Gestion des fenêtres plus aisée •

Direct2 et Animation

Page 28: Construire une application Windows 7download.microsoft.com/documents/France/MSDAYS/2009/...• Lancement facile et rapide des applications • Gestion des fenêtres plus aisée •

Permet une meilleur expérience utilisateur• Permet aux applications de s'adapter à leur environnement

API uniforme pour tout type de capteurs• Pas la peine d’apprendre et d’investir dans des API propriétaires

Capteurs et localisation de Windows

Page 29: Construire une application Windows 7download.microsoft.com/documents/France/MSDAYS/2009/...• Lancement facile et rapide des applications • Gestion des fenêtres plus aisée •
Page 30: Construire une application Windows 7download.microsoft.com/documents/France/MSDAYS/2009/...• Lancement facile et rapide des applications • Gestion des fenêtres plus aisée •

A single API call to answer: Where am I?• Enable location-based services

• Adjust functionality based on location changes

Built on top of the sensor API• Automatic transition between providers

Built-in providers• Lat-lon location provider

• Civic address Location provider

Sources: GPS, Wi-Fi or cell tower triangulation, IP resolver, default location (control panel)

Location Platform

Page 31: Construire une application Windows 7download.microsoft.com/documents/France/MSDAYS/2009/...• Lancement facile et rapide des applications • Gestion des fenêtres plus aisée •

Construire la génération suivante d’interface avec

les rubans et le multi-touche de Windows 7

Page 32: Construire une application Windows 7download.microsoft.com/documents/France/MSDAYS/2009/...• Lancement facile et rapide des applications • Gestion des fenêtres plus aisée •

• Disponible avec Windows 7, redistribuable avec Windows Vista ®

• Alignement des fonctionnalités avec les rubans Microsoft® Office 2007

Ruban Windows

Page 33: Construire une application Windows 7download.microsoft.com/documents/France/MSDAYS/2009/...• Lancement facile et rapide des applications • Gestion des fenêtres plus aisée •

Les élèments du Ruban sont spécifiés par des balises XML

Les contrôles disponibles

Menus, drop-down galleries, combo boxes, font control, buttons, spinners,

tabs and groups and more

Architecture des Rubans Windows

void DoStuff()

{

}

MyHandler::Execute(…){

DoStuff();}

<Ribbon>

<Tab><Button … />

</Tab>

</Ribbon>

Page 34: Construire une application Windows 7download.microsoft.com/documents/France/MSDAYS/2009/...• Lancement facile et rapide des applications • Gestion des fenêtres plus aisée •

Les Rubans de Windows 7

Page 35: Construire une application Windows 7download.microsoft.com/documents/France/MSDAYS/2009/...• Lancement facile et rapide des applications • Gestion des fenêtres plus aisée •

• 3 scénarios possibles

• Good, Better, Best

Multi-Touch

Good

APIsFor Free!

Panning/zoom gesturesRight-click gesture

Native Win32

Controls with standard scrollbars

WPFWPF 3.5 SP1 API CodePack

WPF 4.0 full support + Controls

WinFormsControls with standard

scrollbars

Better

Gesture notifications

Pan/zoom/rotate

and so on

WM_GESTURE

message

Gesture events

Inertia configuration

WM_GESTURE message

via interoperability

Best

Raw touch dataManipulation and inertia processors

WM_TOUCHCOM-based manipulation

and inertia processors

Touch eventsManipulation and inertia processors

Manipulation and inertia processors via COM

interoperability

Page 36: Construire une application Windows 7download.microsoft.com/documents/France/MSDAYS/2009/...• Lancement facile et rapide des applications • Gestion des fenêtres plus aisée •

• Le multi-touche

• La plate-forme de capteurs et localisation géographiques

• La plate-forme de service Web

• Windows Web Service API (WWSAPI)

• Gestion d'énergie

• Plate-forme Biométrique

• Et d'autres encore..

Ce que nous n'avons pas couvert

Page 37: Construire une application Windows 7download.microsoft.com/documents/France/MSDAYS/2009/...• Lancement facile et rapide des applications • Gestion des fenêtres plus aisée •

• The Windows® API Code Pack for Microsoft® .NET Framework provides a source code library that can be used to access some new Windows 7 features (and some existing features of older versions of Windows operating system) from managed code. These Windows features are not available to developers today in the .NET Framework.

The individual features supported in this version (v1.0) of the library are:•

Windows 7 Taskbar Jump Lists, Icon Overlay, Progress Bar, Tabbed Thumbnails, and Thumbnail Toolbars. • Windows 7 Libraries, Known Folders, non-file system containers. • Windows Shell Search API support, a hierarchy of Shell Namespace entities, and Drag and Drop functionality for Shell Objects.• Explorer Browser Control. • Shell property system. • Windows Vista and Windows 7 Common File Dialogs, including custom controls. • Windows Vista and Windows 7 Task Dialogs. • Direct3D 11.0, Direct3D 10.1/10.0, DXGI 1.0/1.1, Direct2D 1.0, DirectWrite, Windows Imaging Component (WIC) APIs. (DirectWrite and WIC have

partial support) • Sensor Platform APIs • Extended Linguistic Services APIs • Power Management APIs • Application Restart and Recovery APIs • Network List Manager APIs • Command Link control and System defined Shell icons. •

What’s New in this update (v1.0):The new features added in this update of code pack are:Shell Search API support.

• Drag and Drop functionality for Shell objects. • Support for Direct3D and Direct2D interoperability. • Support for Typography and Font enumeration DirectWrite APIs.

Et .NET ?

Page 38: Construire une application Windows 7download.microsoft.com/documents/France/MSDAYS/2009/...• Lancement facile et rapide des applications • Gestion des fenêtres plus aisée •
Page 39: Construire une application Windows 7download.microsoft.com/documents/France/MSDAYS/2009/...• Lancement facile et rapide des applications • Gestion des fenêtres plus aisée •

Ressources techniques

Ressources

Windows 7 Blog for Developers www.windowsteamblog.com/blogs/developers.aspx

Windows 7 on Channel 9 http://channel9.msdn.com/tags/Windows+7

Windows Developer Center on MSDN http://msdn.microsoft.com/en-us/windows/dd433113.aspx

Windows Application Compatibility Developer Center http://www.msdn.microsoft.com/en-us/windows/aa904987.aspx

Windows 7 Remediation Labs http://www.readyset7.com/workshops

Windows 7 Training Kit for Developers http://go.microsoft.com/?linkid=9681321

“PhotoView” Reference Application (XP2Win7Project) http://code.msdn.microsoft.com/XP2Win7

Bientot sur MSDN Français

Kit de formation Windows 7 (Anglais)

Coach Windows 7

Ressources communautaire