1
cnbatch 2023-10-22 15:06:32 +08:00 1
注册表只是个信息储存库,把内容写进去以后,并不表示应用与系统会立即重新读取,甚至可以下次启动时再读取。所以使用注册表换壁纸有时间差很正常。
想换壁纸且立即生效的话,要用 Windows API: https://learn.microsoft.com/en-us/windows/win32/api/shobjidl_core/nf-shobjidl_core-idesktopwallpaper-setwallpaper 这个 API 是 Win8 开始提供的,以往的 Windows 只能用注册表的方式来设置,所以 ChatGPT 不会第一时间就提供这个做法。 要这样问 ChatGPT:“我想用 IDesktopWallpaper::SetWallpaper 这个 API 设置壁纸,并且使用 vbscript ,请问可以提供一个吗?” 我问过后,它确实能够写出一段使用 IDesktopWallpaper::SetWallpaper 的 vbscript 代码。 要不自己用 C++写个 exe 调用 API 吧。这样还可以顺便调用 WinRT 的 winrt::Windows::System::UserProfile::LockScreen::SetImageFileAsync() 设置锁屏壁纸。 |
2
sleepingdog OP #1 thanks~
|