Quand on regarde l’aide MSDN pour une classe de l’API Windows 8, par exemple PasswordVault, il est clairement indiqué que cette classe est utilisable à partir d’une application Windows Store ou d’une application Desktop (Console, WinForms ou WPF) :

desktop

Dans le cas d’une application Windows Store, vous n’avez aucune référence à ajouter. Il suffit d’ajouter le using indiqué. Pour une application Desktop, c’est une autre paire de manche :

console

Voici la procédure à suivre pour utiliser l’API depuis une application Desktop :

Modifier le fichier csproj du projet et y ajouter “<TargetPlatformVersion>8.0</TargetPlatformVersion>”

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
  <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
  <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
  <ProjectGuid>{BEA97844-0370-40C1-A435-F95DC0DC0677}</ProjectGuid>
  <OutputType>Exe</OutputType>
  <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
  <TargetPlatformVersion>8.0</TargetPlatformVersion>

Ajouter la référence à “Windows”

reference manager

Notez au passage le numéro de version :).

Ajouter la référence à « System. Runtime »

(“C :\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETCore\v4.5\System. Runtime. dll”)

Utiliser l’API

Vous pouvez désormais accéder à une classe de l’API WinRT depuis votre application Desktop.

var vault = new Windows.Security.Credentials.PasswordVault();
var credentials = vault.RetrieveAll();
foreach (PasswordCredential credential in credentials)
{
   Console.WriteLine("{0} {1}", credential.Resource, credential.UserName);
}

Et voilà.

Ne ratez plus aucune actualité avec la newsletter mensuelle de SoftFluent

Newsletter SoftFluent