4句话自动换win10壁纸

  1. 获取当前用户 sid。cmd下设变量如此复杂。而且 | 的转义字符居然是 ^|
  2. 读取 LogonUI 的自动壁纸。reg query输出极其不友好。需要 tokens=3
  3. 设置为当前桌面。
  4. 刷新。这个属于按运气成功。真正刷新的需要调用 dll 。算了
for /f %%g in ('wmic useraccount where name^="%USERNAME%" get sid ^| findstr ^S\-d*') do set USERSID=%%g
For /f "tokens=3" %%k IN ('reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\Creative\%USERSID%  /s /v  landscapeImage /t REG_SZ ^| findstr /ri "REG_SZ"') do set img_path=%%k
reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v Wallpaper /t REG_SZ /d %img_path% /f
RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters 

之前的方法搞复杂了

Comments