【问题标题】:Cached image not being updated with LockScreen.SetImageFileAsync(file);未使用 LockScreen.SetImageFileAsync(file) 更新缓存图像;
【发布时间】:2019-11-18 00:03:06
【问题描述】:

我在桌面桥应用程序中使用它。我第一次使用它时,它正确设置了图像。从那时起,每次执行时,它只是设置相同的第一张图像,无论我指向哪个文件。我什至可以在设置->锁屏中看到正确的图像。但是当我在那里点击它时,我会得到缓存的图像。即使重新启动后,第一个缓存的图像仍然是显示的。

以其他方式(例如从 UWP 应用)设置图像效果很好。

编辑

另外一个奇怪的是,当我第一次运行应用程序时,我得到:

System.IO.FileNotFoundException: '系统找不到文件 指定的。 (来自 HRESULT 的异常:0x80070002)'

LockScreen.SetImageFileAsync。但是我只是再次运行它,它不会抛出那个异常。

更多信息

目标和最低版本是 Windows 1903,计算机本身也是如此。在登录选项中,我已关闭“使用我的登录信息自动...”。我也关闭了休眠(因此也禁用了快速启动)。我已经在 2 台计算机上进行了测试,结果相同,包括 FileNotFoundException。

【问题讨论】:

  • 你的桌面桥项目的目标版本和操作系统构建版本是什么?
  • @XavierXie-MSFT 1809 和 1903 分别。
  • 我创建了一个桌面桥应用程序来测试LockScreen.SetImageFileAsync(file) 方法。它在我这边工作得很好。当我为它设置不同的图像时,它总是会更新 lockScreen 图像。
  • @XavierXie-MSFT 奇怪。我现在在另一台计算机上尝试了相同的结果。我还看到,在C:\ProgramData\Microsoft\Windows\SystemData\{SID}\ReadOnly 下,为通过设置添加的每个图像创建了一个新文件夹,但是对于通过我的应用程序添加的图像,它们都在一个文件夹中,原始图像为LockScreen___1920_1080_notdimmed.jpg 和最新的与所有其他名称。我引用windows.winmd 和system.runtime,windowsruntime。并使用StorageFile.GetFileFromPathAsync(path) 获取文件。我的 2 台计算机如何给出相同的结果?
  • @XavierXie-MSFT 这里:string path = "thePath"; var file = await StorageFile.GetFileFromPathAsync(path); await LockScreen.SetImageFileAsync(file);。就是这样。

标签: c# uwp windows-store-apps win-universal-app desktop-bridge


【解决方案1】:

如 cmets 中所述,这是 Windows 中的错误。

谢谢Stefan Wick MSFT。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-16
    • 2017-05-16
    • 2015-04-02
    • 2012-08-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多