|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] Смена обоев рабочего стола |
|
Любой язык - [решено] Смена обоев рабочего стола
|
Старожил Сообщения: 220 |
Здравствуйте. Хочу сделать, что бы при запуске скрипта на рабочем столе случайным образом менялись обои из папки (например e:\Изображения\Обои для рабочего стола\). Стоит Windows 7 Ultimate. Стандартными средствами реализовано похожее, но там через время, что меня не совсем устраивает. Создавал похожую тему http://forum.oszone.net/showthread.php?p=2507233, но там не ответили. Реально ли это сделать?
|
|
Отправлено: 13:15, 14-05-2015 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать http://poshcode.org/491 - Set-Wallpaper
add-type @" using System; using System.Runtime.InteropServices; using Microsoft.Win32; namespace Wallpaper { public enum Style : int { Tile, Center, Stretch, NoChange } public class Setter { public const int SetDesktopWallpaper = 20; public const int UpdateIniFile = 0x01; public const int SendWinIniChange = 0x02; [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)] private static extern int SystemParametersInfo (int uAction, int uParam, string lpvParam, int fuWinIni); public static void SetWallpaper ( string path, Wallpaper.Style style ) { SystemParametersInfo( SetDesktopWallpaper, 0, path, UpdateIniFile | SendWinIniChange ); RegistryKey key = Registry.CurrentUser.OpenSubKey("Control Panel\\Desktop", true); switch( style ) { case Style.Stretch : key.SetValue(@"WallpaperStyle", "2") ; key.SetValue(@"TileWallpaper", "0") ; break; case Style.Center : key.SetValue(@"WallpaperStyle", "1") ; key.SetValue(@"TileWallpaper", "0") ; break; case Style.Tile : key.SetValue(@"WallpaperStyle", "1") ; key.SetValue(@"TileWallpaper", "1") ; break; case Style.NoChange : break; } key.Close(); } } } "@ Get-ChildItem "e:\Изображения\Обои для рабочего стола\*.jpg" -Recurse | Get-Random -Count 1 | Foreach {[Wallpaper.Setter]::SetWallpaper( $_.FullName, "NoChange" )} Set Random Wallpaper on your Desktop using Powershell - https://gallery.technet.microsoft.co...Using-e79e4235 |
Отправлено: 14:05, 14-05-2015 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 220
|
Профиль | Отправить PM | Цитировать Kazun, спасибо! Первый скрипт работает отлично!!!
Есть 2 вопроса: 1) можно ли его подредактировать, что бы он открывал еще *.jpeg *.png *.gif 2) Картинки нужно подкорректировать по размерах или они сами масштабируются? |
Отправлено: 16:35, 14-05-2015 | #3 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать 1. Get-ChildItem -Path "e:\Изображения\Обои для рабочего стола\*" -Include *.jpeg,*.png,*.gif -Recurse
2. Вместо NoChange, доступно еще 3:Stretch(Растянуть),Center(По центру),Tile(Замостить) https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx [Control Panel\Desktop] Wallpaper=%WinDir%\web\wallpaper\Windows\img0.jpg ; The path to the wallpaper picture can point to a ; .bmp, .gif, .jpg, .png, or .tif file. TileWallpaper=0 ; 0: The wallpaper picture should not be tiled ; 1: The wallpaper picture should be tiled WallpaperStyle=2 ; 0: The image is centered if TileWallpaper=0 or tiled if TileWallpaper=1 ; 2: The image is stretched to fill the screen ; 6: The image is resized to fit the screen while maintaining the aspect ratio. (Windows 7 and later) ; 10: The image is resized and cropped to fill the screen while maintaining the aspect ratio. (Windows 7 and later) |
Отправлено: 16:46, 14-05-2015 | #4 |
Старожил Сообщения: 220
|
Профиль | Отправить PM | Цитировать Kazun, Спасибо! Решено.
|
|
Отправлено: 20:01, 14-05-2015 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Bio_Hazard:
|
|
Отправлено: 09:19, 15-05-2015 | #6 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Программы - [Персонализация] [3.0]-=смена обоев рабочего стола со спецэффектами=- | tweakos | Оформление Windows XP | 276 | 30-10-2023 11:31 | |
Интерфейс - [решено] Смена обоев рабочего стола | Bio_Hazard | Microsoft Windows 7 | 3 | 14-05-2015 20:03 | |
Разное - [решено] Удаление истории фонов рабочего стола (обоев) | mancunianec | Microsoft Windows 7 | 10 | 10-10-2011 16:00 | |
Интерфейс - Смена обоев Рабочего стола при каждой загрузке ОС | Romdmit | Microsoft Windows 2000/XP | 4 | 14-09-2011 23:00 | |
Интерфейс - [решено] Как запретить (разрешить) изменение обоев рабочего стола | andrystepa | Microsoft Windows 2000/XP | 11 | 02-03-2011 18:42 |
|