Мне нравится, как определенные темы Windows вращаются по различным изображениям, но мне также нравится использовать BgInfo для записи различной информации о машине в изображение обоев рабочего стола.
Я создал настроенный файл BGI и указал его на current.jpg
в папке. Затем я написал сценарий powershell, чтобы скопировать случайное изображение из этой папки в current.jpg
а затем выполнить параметры командной строки BgInfo для обновления обоев:
Get-ChildItem -Path $Env:USERPROFILE\Pictures\wallpaper\* -Include *.* -Exclude current.jpg | Get-Random | Foreach-Object { Copy-Item -Path $_ -Destination $Env:USERPROFILE\Pictures\wallpaper\current.jpg }
D:\utils\SysinternalsSuite\Bginfo.exe $Env:USERPROFILE\Documents\custom.bgi /NOLICPROMPT /timer:0
Это прекрасно работает. Однако, когда я настраивал запланированное задание на выполнение этого скрипта каждые тридцать минут, на экране кратковременно вспыхивало окно powershell. Я видел решения, использующие файл VBS для выполнения команд, поэтому я попробовал это:
Dim shell,command
command = "powershell.exe -NoLogo -NonInteractive -WindowStyle Hidden -File D:\utils\select-random-wallpaper.ps1"
set shell = CreateObject("WScript.Shell")
shell.Run command,0
Я больше не вижу краткое консольное окно, но оно по-прежнему будет активировать приложение переднего плана странными способами. Например, если я использую Chrome, он переключит текущее активное окно Chrome на другое.
Я делаю что-то неправильно? Как мне запланировать задачу, не влияя на приоритетные приложения?
Редактировать: Связано ли это с BgInfo-специфичным, есть идеи, если источник BgInfo доступен где-нибудь? Эта ошибка существует с 2007 года и даже не обновлялась с 2013 года.