以编程方式更改Windows 10锁定屏幕背景(在桌面上)

时间:2018-08-10 08:10:37

标签: c# .net vb.net visual-c++ windows-10

如何以编程方式更改/设置锁定屏幕背景图像(使用VB.NET,C#或Visual C ++)?我正在使用Win 10 Pro并拥有Visual Studio 2017 Pro。

我在线上看过,但是大多数解决方案似乎都无法正常工作。例如:

  1. Change Win 10 Lockscreen Image Mutiple Times C# WPFChange Windows Lock Screen background image in C#都提供了示例代码,但是粘贴时找不到导入的System.Windows.Media.ImagingWindows.StorageWindows.Storage.StreamsWindows.System.UserProfile代码。我需要添加特定的参考吗?
  2. Lock screen personalization sample看起来很有希望,但是在打开解决方案/项目文件时,Visual Studio抛出错误,提示所提供的格式不可读。

大多数资料来源(也是Windows Dev Center - LockScreen Class)似乎都建议
Windows.System.UserProfile.LockScreen.SetImageFileAsync(file);
但我显然缺少使它运行的特定名称空间/导入/包。

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:6)

使用此问题Windows 10 Pro lockscreen mass change,我发现了一种更简单的方法。我需要做的就是将注册表项设置在

millis

  • symbol, datetime (millis?)
  • Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\PersonalizationCSP
  • DesktopImagePath
  • DesktopImageUrl

到所需图片的路径,该路径无需UWP或WPF。

答案 1 :(得分:1)

正如我在评论中所提到的,Windows.System.UserProfile名称空间是UWP平台的一部分,需要安装Windows 10 SDK才能使用。

您可以通过运行Visual Studio安装程序来安装SDK,单击“修改”,然后选择“通用Windows平台开发”工作负载,或者从“单个组件”列表中选择SDK。可以在here中找到更多详细信息。

可能能够通过答案中的How to Interop with Windows Runtime in .NET 4.5this链接使用桌面.NET应用程序中的库,但不能保证Microsoft将继续允许这样做,因此您最好使用UWP进行开发。

Microsoft提供了一个示例,用于在GitHub here上的Windows 10上进行锁屏个性化。