问题的快速总结:在 Windows 7 中,使用 Powershell 或一点 C#,我们如何判断自定义主题是要在后台留下单个图像还是幻灯片放映?
(相关问题但不完全相同且未回答:
- 恢复默认壁纸后如何恢复 Windows 7 幻灯片 (未回答/单独的问题)
- https://stackoverflow.com/questions/10556820/programatically-enable-windows-7-desktop-slideshow (未回答/单独问题)
- 如何检测由于 Windows 7 幻灯片放映而导致的墙纸变化? (答案不适用于 win 7 / 单独的问题)
相关资源,但没有帮助:
)
问题几乎就是它听起来的样子,我不确定它为什么会遇到这么多麻烦。
在 Win8 中,我可以使用基于 Andy 帖子的技术(Powershell 脚本从快捷方式更改桌面)来获取源图像。从那里以及据我所知,幻灯片总是以 TranscodedWallpaper.jpg 结尾,并且一旦您拖放到单个图像,它就会切换到图像的名称。所以有点绕,但我可以判断幻灯片是否打开
在Win7中我可以查看WallpaperSource
Get-ItemProperty 'HKCU:\Software\Microsoft\Internet Explorer\Desktop\General' WallpaperSource
但如果有幻灯片,它只会给我当前图像,如果我们使用的是“Custom.theme”,那么
Get-ItemProperty -path 'HKCU:Control Panel\Desktop' -name 'Wallpaper'
每次都返回 TranscodedWallpaper.jpg,即使那里只剩下一张图像并且没有时间间隔。(不管我是用上面的命令还是安迪的脚本)
我试过运行 Process Monitor 来弄清楚 windows 做了什么,它在 'C:\Windows\Globalization\MCT\MCT-US\Wallpaper\desktop.ini' 中播放了一点,但它似乎没有留下任何痕迹我可以用。它帮助我找到
Get-ItemProperty -path 'HKCU:Control Panel\Personalization\Desktop Slideshow'
它有一个 Shuffle 和 Interval 字段,但是当我们在自定义主题中时两者都不会改变 - 单个图像与自定义主题 - 幻灯片。
我确信我错过了非常明显的(在 Windows 和 Powershell 的这一端玩的新手).. 有什么想法吗?