Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для DmitryOlenin

Ветеран


Сообщения: 511
Благодарности: 11

Профиль | Отправить PM | Цитировать


Всем известно, что своя тему оформления прописывается в файле *.sif.
Код: Выделить весь код
CustomDefaultThemeFile = "%WinDir%\Cursors\theme.theme"
Но тема эта может не примениться, и останетесь вообще со стандартной темой Windows(даже не Luna).

Дело в том, что тема срабатывает при первом входе в систему(чуть раньше отображения ярлыков на раб. столе), после отработки RunOnceEx. Но если у вас последним пунктом стоит перезагрузка и до раб. стола дело не доходит... то вы рискуете получить то, что я описал выше.

Если у вас не применилась тема оформления, то маленький скрипт на AutoIt вам поможет.
В данном случае переменная var3 содержит путь до вашего файла с темой оформления.
Думаю, что надо писать именно в эту тему, т.к. случай необычный...

Код: Выделить весь код
$allowed = 20 * 1000
$time = TimerInit()
$var = @SystemDir & '\' & 'rundll32.exe'
$var1 = @SystemDir & '\' & 'shell32.dll' & ',' & 'Control_RunDLL'
$var2 = @SystemDir & '\' & 'desk.cpl  desk'  & ','  &  '@'  & 'Themes ' & '/'  & 'Action'  & ':'  & 'OpenTheme '  & '/'  & 'file' & ':'
$var3 = @WindowsDir & '\' & 'Cursors' & '\' & 'theme.theme'
AutoItSetOption("WinTitleMatchMode", 4)
run($var & ' ' &  $var1 & ' ' &  $var2 & '"' & $var3 & '"')
Blockinput(1)
If TimerDiff($time) > $allowed Then _Abort()
For $k = 1 To 3
sleep(1000)
Send("{ENTER}")
    Next
exit

Func _Abort()
    ; close process if exists then exit.
    Dim $pid
    If ProcessExists($pid) Then
        ProcessClose($pid)
        Exit(2)
    Else
        Exit(3)
    EndIf
EndFunc

Последний раз редактировалось DmitryOlenin, 20-03-2006 в 12:39.

Это сообщение посчитали полезным следующие участники:

Отправлено: 00:12, 20-03-2006 | #44