我正在运行一项服务,该服务每 5 分钟左右渲染一次变化的壁纸,并自动用新图像文件替换当前图像文件(即,新图像但文件名相同)。在 Linux 上,几乎可以自动检测到更改,因此我拥有最新的壁纸。但是,在我的 Windows 7 计算机上(通过 Dropbox 将图像与我的 Linux 计算机同步),它似乎缓存了上次我手动设置壁纸时的壁纸。即使我重新启动,图像也不会改变。
有没有办法让 Windows 检测文件更改,或定期刷新壁纸缓存?如果可能的话,我想避免使用第三方应用程序。
答案1
设置壁纸图像副本将其放入 XP 中的 Windows 系统文件夹(我假设是 Win 7)。尝试将该副本更改为 DropBox 文件夹中文件的快捷方式。
答案2
我对这个主题很感兴趣并且发现了以下内容:
如果您从“资源管理器”或“Windows 图库”更改壁纸,那么图像将被复制到
TrancodedWallpaper.jpg
文件中AppData\Roaming\Microsoft\Windows\Themes
。如果您从“IE”更改壁纸,那么图像将被复制到
AppData\Roaming\Microsoft\Internet Explorer\Internet Explorer Wallpaper.bmp
。如果您从“Firefox”更改壁纸,图像将被复制到
AppData\Roaming\Mozilla\Firefox\Fondo de escritorio.bmp
(西班牙语版本;我想Desktop Background.bmp
是英语版本)。
重点是,如果您检查,HKCU\Control Panel\Desktop\Wallpaper
您将获得当前桌面的路径,但前提是 Explorer/Gallery 更改了它。IE/FF 不会更改此键,只会更改桌面。
密钥HKCU\Software\Microsoft\Internet Explorer\Desktop\General\Wallpapersource
是您当前桌面的来源(例如,来自C:\windows\web\wallpaper
文件夹的一个桌面)。
因此,壁纸只有一个位置的说法是不正确的。
答案3
我认为如果你修改你的服务,C:\Users\[username]\AppData\Roaming\Microsoft\Windows\Themes\TranscodedWallpaper.jpg
你可能会发现这就是实时桌面图像。