Войти

Показать полную графическую версию : по-быстрому снести обои


Опиум
05-06-2015, 10:36
Подскажите, плиз, как по-быстрому корректно батником (или wsh) снести обои на рабочем столе?
Или самый лучший способ тереть переменную wallpaper в HKEY_CURRENT_USER\Control Panel\Desktop ?

Нужно, чтобы после запуска был просто, например синий фон)

greg zakharov
05-06-2015, 19:28
В зависимости какая система. Если это ХР, то можно обойтись и батником, оставив пустым значение Wallpaper в указанном вами разделе реестра, а чтобы изменения немедленно вступили в силу нужно будет добавить:rundll32 user32.dll,UpdatePerUserSystemParameters. В более поздних системах команда выше не работает, так что лучше использовать PowerShell, тем более, что с его помощью можно устанавливать не только синий фон, например:if ([String]::IsNullOrEmpty(($wp = (gp 'HKCU:\Control Panel\Desktop').Wallpaper))) {
Add-Type -AssemblyName System.Drawing

$asm = Add-Type -MemberDefinition @'
[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
public static extern Boolean SetSysColors(
Int32 cElements,
Int32[] lpaElements,
UInt32[] lpaRgbValues
);
'@ -Name Background -NameSpace Desktop -PassThru

[Int32[]]$elm = 1
[Int32[]]$val = [Drawing.ColorTranslator]::ToWin32(
[Drawing.Color]::Lime
)

$asm::SetSysColors($elm.Length, $elm, $val)
}
Вообще, с PowerShell можно много чего с Рабочим столом сотворить.




© OSzone.net 2001-2012