Войти

Показать полную графическую версию : [решено] Настройка темы оформления через *.bat


Pixy
02-11-2009, 12:00
Доброе Время Суток !

Помогите решить такой вопрос:
Мне нужно написать бат файл через который будет применена определённая тема курсора, стиль виндовс и заставка рабочего стола... ?

gora
02-11-2009, 12:19
Мне нужно написать бат файл через который будет применена определённая тема курсора, стиль виндовс и заставка рабочего стола... »
Скопировать все это в нужные места не проблема, но все это прописано в теме оформления. Сменить тему оформления из бат файла (на сколько мне известно) не удастся, за исключением случая подмены темы Luna на свою переименованную в Luna. К тому же придется патчить файл UxTheme.dll для применения не подписанных тем.

JIuBeHb
02-11-2009, 13:21
Точно знаю как сменить обои рабочего стола, все делается в реестре, так (.reg):

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Control Panel\Desktop]
"Wallpaper"="С:\\WINNT\\XXX.bmp"


или так(.bat):

REG ADD HKCU\Control Panel\Desktop\SYSTEM /v Wallpaper /t REG_DWORD /d C:\\WINNT\\XXX.bmp /f

Где "С:\\WINNT\\XXX.bmp" путь к рисунку.

Вообще в реестре можно все... главное желание найти ответ то что тебе нужно :)

Pixy
02-11-2009, 20:07
нет реестр вообще не варианнт, потому что придёться перезагружать комп, а нодо что бы всё применилось разом
даже если я прописываю обою раб сьола в реестре она не применяеться сеюже минуту...

JIuBeHb
03-11-2009, 12:17
Ну тут только AutoIt тебе в помощь. Стандартными средствами винды не поменять.

вот пример скрипта:

$theme = "Luna"
$title = "Свойства: Экран"

If FileExists (@WindowsDir & "\Resources\Themes\" & $theme & ".theme") Then
ShellExecute (@WindowsDir & "\Resources\Themes\" & $theme & ".theme")
WinWait ($title,"",10)
If WinExists ($title) Then ControlClick ($title,"",1)
Else
MsgBox (16,'Ошибка применения Темы','Тема "' & $theme & '" не обнаружена! ')
EndIf

Вот, кстати, ссылка (http://www.oszone.net/6163/) на небольшую статью.

Pixy
03-11-2009, 13:09
оО вот оно что :))
щас попробуем , интерестная штука :)

ну вот оно , то что я искал.
Спасибо :)

sov44
10-03-2012, 01:27
Подскажите, как поправить скрипт в посте 5, чтобы проводилась проверка на предмет уже установленной темы. Если тема применена, тогда её повторная установка не выполняется.

Iska
10-03-2012, 03:56
Сделайте проще — смените тему на одну из предустановленных («Luna.theme», «Windows Classic.theme»), затем — на нужную Вам.

sov44
10-03-2012, 11:32
Iska, настраиваю установку винды на живую систему, нужна проверка темы перед её применением.

Iska
10-03-2012, 19:16
Какая проверка? Вы выше пишете:
Если тема применена, тогда её повторная установка не выполняется. »

sov44
10-03-2012, 19:58
Какая проверка? »
как поправить скрипт в посте 5, чтобы проводилась проверка »

Iska
10-03-2012, 21:53
sov44, я хочу увидеть от Вас псевдокод в виде:

Если <Условие> То
<ДействиеИстина>
Иначе
<ДействиеЛожь>
КонецЕсли
с расписанными Вами «Условие», «ДействиеИстина», «ДействиеЛожь» на обычном простом русском языке. Т.е. — как должно выглядеть то, что Вы хотите получить.

sov44
11-03-2012, 00:20
Iska, Прошу прощения за мой русский :) попробую объяснить.
Запуск скрипта планирую сделать через PstSetup.cmd на Т-0 при установке винды сверху на живую систему
Необходимо, чтобы на компьютере после обновления винды была установлена тема BlackBlue.
Нужная тема копируется на Т-13 и к моменту запуска PstSetup.cmd присутствует в системе. Алгаритм такой: запускаем скрипт. Если тема BlackBlue уже установлена (напоминаю, что винда накатывается всерху), скрипт завершает работу, если тема BlackBlue не установлена, то её устанавливает скрипт, компилированный в exe.
Следующая задача - сделать умный PstSetup.cmd. При при установке винды сверху на живую систему необходимо, чтобы запускался компилированный скрипт. При чистой установке скрипт запускаться не должен,т.к. установка темы BlackBlue прописана в winnt.sif (до Т-40)
if exist "%systemroot%\Resources\Themes\BlackBlue" ("%systemroot%\Resources\Themes\add_BlackBlue_theme.exe") При ручном запуске PstSetup.cmd с установленной винды код срабатывает, при накате винды сверху код в PstSetup.cmd не срабатывает. Ошибка в переменных? Чистую установку не проверял.

Iska
11-03-2012, 01:12
sov44, сожалею. Тут я Вам не помощник.




© OSzone.net 2001-2012