【发布时间】: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