#windows-10
Вопрос:
У меня ноутбук с Windows 10 подключен к двум мониторам в режиме расширенного отображения. Я хотел бы установить только обои второго монитора для определенного изображения. Ручной способ сделать это — перейти: щелкните правой кнопкой мыши на рабочем столе -> Персонализация -> Выберите картинку -> Щелкните правой кнопкой мыши и установите для монитора 2
Есть ли какой-либо способ автоматизировать это с помощью скрипта (bat / powershell)?
Мне удалось заставить приведенный ниже фрагмент кода работать, однако он устанавливает обои для обоих дисплеев
function Set-Wallpaper($MyWallpaper){
$code = @'
using System.Runtime.InteropServices;
namespace Win32{
public class Wallpaper{
[DllImport("user32.dll", CharSet=CharSet.Auto)]
static extern int SystemParametersInfo (int uAction , int uParam , string lpvParam , int fuWinIni) ;
public static void SetWallpaper(string thePath){
SystemParametersInfo(20,0,thePath,3);
}
}
}
'@
add-type $code
[Win32.Wallpaper]::SetWallpaper($MyWallpaper)
}
Set-WallPaper("C:Wallpapersnature.jpg")
Спасибо
Ответ №1:
Ответ доступен в сообщении ниже https://forums.powershell.org/t/powershell-to-set-second-monitor-wallpaper/17949