web-dev-qa-db-fra.com

Modifier par programme le fond d'écran de verrouillage de Windows 10 (sur le bureau)

Comment puis-je modifier/définir par programme l'image de fond d'écran de verrouillage (à l'aide de VB.NET, C # ou Visual C++)? J'utilise Win 10 Pro et ai Visual Studio 2017 Pro.

J'ai regardé en ligne mais la plupart des solutions ne semblent pas fonctionner. Par exemple:

  1. Les deux fois Changer Win 10 fois l’image verrouillée LockScreen C # WPF et Changer l’image d’arrière-plan de l’écran verrouillé Windows en C # fournit un exemple de code mais les imports System.Windows.Media.Imaging, Windows.Storage, Windows.Storage.Streams, Windows.System.UserProfile ne sont pas trouvés lorsque je colle le code. Dois-je ajouter des références spécifiques?
  2. Exemple de personnalisation de l'écran de verrouillage semble très prometteur, mais lors de l'ouverture du fichier solution/projet, Visual Studio génère une erreur indiquant que le format fourni est illisible.

La plupart des sources (également Centre de développement Windows - LockScreen Class ) semblent suggérer 
Windows.System.UserProfile.LockScreen.SetImageFileAsync(file);
mais il me manque apparemment l’espace de nom/import/package spécifique pour le faire fonctionner.

Toute aide serait appréciée.

5
ThomasT

J'ai trouvé un moyen plus simple en utilisant cette question Windows 10 Pro changement de masse lockscreen . Tout ce que je dois faire est de définir les entrées de registre sous

Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\PersonalizationCSP

  • DesktopImagePath
  • DesktopImageUrl
  • LockScreenImagePath
  • LockScreenImageUrl

au chemin de l'image souhaitée, qui fonctionne sans UWP ou WPF.

4
ThomasT

Comme mentionné dans mon commentaire, l'espace de noms Windows.System.UserProfile fait partie de la plate-forme UWP et nécessite l'installation du SDK Windows 10 pour pouvoir l'utiliser. 

Vous pouvez installer le SDK en exécutant Visual Studio Installer, cliquer sur "Modifier", puis choisir le workload "Développement de la plate-forme Windows universelle" ou choisir le SDK dans la liste des "Composants individuels". Plus de détails peuvent être trouvés ici .

Vous pouvez pouvez utiliser la bibliothèque à partir d’une application .NET de bureau, comme indiqué dans cette question Comment interagir avec Windows Runtime dans .NET 4.5 et this le lien de la réponse, mais rien ne garantit que Microsoft continuera à le permettre, il est donc probablement préférable de développer à l'aide du programme UWP.

Il existe un exemple de Microsoft pour Lock Screen Personalization sous Windows 10 sur GitHub ici .

1
dkwarr87