Windows 10 通用删除锁定屏幕图像

Posted

技术标签:

【中文标题】Windows 10 通用删除锁定屏幕图像【英文标题】:Windows 10 Universal Remove Lock Screen Image 【发布时间】:2016-05-31 04:23:45 【问题描述】:

我有一个可以设置锁定屏幕图像的应用程序。但是,我不再支持我的 Win 10 应用程序并希望删除该图像。有没有办法在代码中删除锁定屏幕图像或将其设置回系统默认值?

【问题讨论】:

【参考方案1】:

UserProfilePersonalizationSettings 提供了方法TrySetLockScreenImageAsync 来设置锁屏图片。但是没有办法删除锁屏图像或将其设置回系统。

在 Windows 10 桌面上,它默认使用Windows spotlight 应用程序来获取锁屏图片。据我所知,我们无法通过 API 使用Windows spotlight 设置锁屏。

在 Windows 移动版 10 中,锁定屏幕与 Windows 10 桌面版不同。它默认使用My picture

作为一种解决方法,您可以启动锁屏设置,让用户选择My pictureWindows spotlight。无论是 Windows 10 桌面还是 Windows 移动 10,锁屏设置的 uri 都是一样的。

例如:

bool result = await Launcher.LaunchUriAsync(new Uri("ms-settings:lockscreen"));

【讨论】:

【参考方案2】:

您可以检索当前的锁屏图像并保存。之后,您可以在需要时回滚到以前的状态。

此功能仅适用于 Windows 10 桌面版(据我所知)。您需要为您的项目添加Windows Desktop Extensions for the UWP。 link 提供更多信息。

之后,您可以在使用LockScreen 操作之前保存当前的LockScreen 图像:

if (ApiInformation.IsTypePresent("Windows.System.UserProfile.LockScreen"))

    var fileName = "originalLockScreenImage";
    //check is file exists
    var originalLockScreenFile = await ApplicationData.Current.LocalFolder.TryGetItemAsync(fileName);
    if (originalLockScreenFile == null)
    
        var currentImageStream = Windows.System.UserProfile.LockScreen.GetImageStream();
        var tempFile = await ApplicationData.Current.LocalFolder.CreateFileAsync(fileName, CreationCollisionOption.OpenIfExists);
        using (var fileStream = await tempFile.OpenAsync(FileAccessMode.ReadWrite))
        
            await currentImageStream.AsStream().CopyToAsync(fileStream.AsStream());
        
    
    else
    
        //rollback if you want
        await Windows.System.UserProfile.LockScreen.SetImageFileAsync((IStorageFile)originalLockScreenFile);
    

【讨论】:

嗨!这段代码适用于哪种编程语言? @NetVicious for C# 我正在尝试在 Visual Studio 中创建一个简单的解决方案,用于创建一个命令行 exe 来更改锁壁纸。你能告诉我需要安装哪个 SDK 才能拥有 Windows.System.UserProfile 吗? @NetVicious 如果您想使用Windows.System.UserProfile.LockScreen,请添加到您的解决方案Windows Desktop Extensions for the UWP。看我上面的帖子。 感谢您的信息。解决方案应该是通用应用程序,而 C# 不允许通用控制台应用程序。我想创建一个简单的 exe 来在命令行中更改锁屏壁纸。【参考方案3】:

我假设您想将您的平台恢复到其原始状态或附近。选择设置图标(齿轮状的东西),然后转到“个性化”。点击后,您会在左侧看到一个垂直选项列表,其中之一是“锁定屏幕”。 “背景选项”下的选项栏有一个小的下拉扩展箭头。如果一切顺利,您将拥有三个选项,其中之一应该是“Windows Spotlight”。如果你想要那个,拿去吧。如果您想要不同的图片,请浏览。希望这是有用的和有帮助的。

【讨论】:

以上是关于Windows 10 通用删除锁定屏幕图像的主要内容,如果未能解决你的问题,请参考以下文章

使用 MPNowPlayingInfoCenter 显示锁定屏幕图像不起作用

Windows 锁定时截取桌面截图 (Win+L)

在焦点事件 TextBox 上打开触摸键盘 windows 10 |通用应用

Xamarin 窗体:Windows 10 通用应用程序阻止屏幕截图

Win10 如何设置自动锁定屏幕

在swift3中看到UILocalNotification后如何在我的锁定屏幕上取消或删除?