Как установить фон рабочего стола в Windows из сценария?

в X Windows у меня был классный скрипт напоминания" silent-alarm", который изменил цвет моего корневого окна (фона) на сплошной красный, всего на несколько секунд, прежде чем изменить его обратно. Есть ли способ сделать это для Windows XP?

Я думаю, какая-то запланированная задача, которая использует cscript для установки разделов реестра (HKEY_CURRENT_USERControl PanelDesktop). Однако мои попытки, кажется, не имеют никакого эффекта. Что я должен сигнализировать, чтобы прочитать эти записи реестра и повторно нарисовать рабочий стол?

26
задан gronostaj
18.11.2022 13:21 Количество просмотров материала 3077
Распечатать страницу

5 ответов

это меняет фон с помощью командной строки. Просто сохраните это как файл bat. Используйте bmp или вам придется обновить. Также устанавливает обои, который нужно протянуть. Если вы вынимаете линию обоев, она автоматически центрируется.

@echo off
reg add "HKCU\control panel\desktop" /v wallpaper /t REG_SZ /d "" /f 
reg add "HKCU\control panel\desktop" /v wallpaper /t REG_SZ /d "C:\[LOCATION OF WALLPAPER HERE]" /f 
reg delete "HKCU\Software\Microsoft\Internet Explorer\Desktop\General" /v WallpaperStyle /f
reg add "HKCU\control panel\desktop" /v WallpaperStyle /t REG_SZ /d 2 /f
RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters 
exit
8
отвечен Alex 2022-11-19 21:09

Я думаю, что после того, как вы измените настройки обоев в реестре, вам просто нужно запустить

RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters 

из командной строки и изменения должны вступить в силу. Необходимо убедиться, что изображение является файлом bmp.

на самом деле, я просто попробовал это, создав файл bmp размером с рабочий стол, который был красным. Я изменил ключ //HKCU/control panel/desktop/wallpaper, чтобы содержать полный путь к этому растровому изображению. Я побежал вышеуказанная команда от командной строки и рабочий стол изменен на красный bmp, который я только что создал

6
отвечен Mark 2022-11-19 23:26

вот один из вариантов. Создать небольшое приложение, консоль с SharpDevelop. Поместите этот код в программы.цезий. Я называю приложение "CWP"; изменить обои. Он принимает только один параметр в командной строке: имя файла. Проверено на Windows 7 Ultimate 64-разрядная с .файл BMP.

    /*
     * Created by SharpDevelop.
     * Date: 21.9.2012
     * Time: 16:13
     */
    using System;
    using System.Data;
    using System.Text;
    using System.Runtime.InteropServices;

    namespace cwp
    {

       class Program
        {
           [DllImport("user32.dll")]
           public static extern Int32 SystemParametersInfo(
               UInt32 action, UInt32 uParam, String vParam, UInt32 winIni);

            public static readonly UInt32 SPI_SETDESKWALLPAPER  = 0x14;
            public static readonly UInt32 SPIF_UPDATEINIFILE    = 0x01;
            public static readonly UInt32 SPIF_SENDWININICHANGE = 0x02;

            public static void SetWallpaper(String path)
            {
                Console.WriteLine("Setting wallpaper to '" + path + "'");
                SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, path,
                    SPIF_UPDATEINIFILE | SPIF_SENDWININICHANGE);
            }

            public static void Main(string[] args)
            {
                if (args.Length >= 1)
                {
                    SetWallpaper( args[0] );
                }
            }
        }
    }
4
отвечен Polarlightning 2022-11-20 01:43

Это не так круто, как на самом деле тратить время на написание кода, но есть довольно полезная система util называется bginfo, который встраивает информацию в Фон рабочего стола. это довольно настраиваемый со всеми видами параметров командной строки. нет, я этого не писал.

1
отвечен 2022-11-20 04:00

для Windows 7, он работает даже в ограниченных областях!! ;) Замените путь расположения изображения на

C:\Users\1509967\Desktop\hi.jpg

reg add "HKEY_CURRENT_USER\control panel\desktop" /v wallpaper /t REG_SZ /d "" /f
reg add "HKEY_CURRENT_USER\control panel\desktop" /v wallpaper /t REG_SZ /d C:\Users09967\Desktop\hi.jpg /f
reg add "HKEY_CURRENT_USER\control panel\desktop" /v WallpaperStyle /t REG_SZ /d 2 /f
RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters
pause
exit
0
отвечен Anand Varkey Philips 2022-11-20 06:17

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх