我正在运行一项服务,该服务每5分钟左右渲染一次变化的墙纸,并自动将当前图像文件替换为新的图像文件(也就是说,新图像但文件名相同)。在Linux上,更改几乎是自动检测到的,因此我拥有最新的墙纸。但是,在我的Windows 7机器上(通过Dropbox与我的Linux机器同步图像),它似乎是在上次手动设置墙纸后缓存墙纸。即使重启,图像也不会改变。
有没有一种方法可使Windows检测文件更改或定期刷新墙纸缓存?我想尽可能避免使用第三方应用程序。
我正在运行一项服务,该服务每5分钟左右渲染一次变化的墙纸,并自动将当前图像文件替换为新的图像文件(也就是说,新图像但文件名相同)。在Linux上,更改几乎是自动检测到的,因此我拥有最新的墙纸。但是,在我的Windows 7机器上(通过Dropbox与我的Linux机器同步图像),它似乎是在上次手动设置墙纸后缓存墙纸。即使重启,图像也不会改变。
有没有一种方法可使Windows检测文件更改或定期刷新墙纸缓存?我想尽可能避免使用第三方应用程序。
Answers:
我对此主题感兴趣,并且发现了以下内容:
如果从“资源管理器”或“ 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
文件夹中的一个桌面)。
因此,墙纸只有一个位置是不正确的。