Как выбрать тему программно в Vista - PullRequest
1 голос
/ 15 ноября 2008

Пакет программного обеспечения, над которым я работаю, устанавливает свою собственную тему Windows и в процессе установки пытается сделать ее текущей темой. Нам удалось заставить это работать в Windows XP с большим количеством изменений реестра во время установки (перезагрузка применяет изменения), но Vista, кажется, требует еще большего количества изменений в реестре.

Мы также обнаружили, что «запуск» файла темы откроет диалоговое окно «Темы» и выберет тему, но пользователь должен нажать «ОК». Сценарий может выполнить это, правда, но найти кнопку «ОК» в неанглийской Windows - это проблема, с которой мне бы не пришлось сталкиваться.

Итак, есть ли способ программно изменить текущую тему в Windows Vista?

Ответы [ 2 ]

2 голосов
/ 12 марта 2012

Извините за некую старую ветку, но я все еще вижу этот вопрос в интернете.

Windows все еще не очень далека от своих корней DOS. Вы можете использовать эту команду, чтобы открыть панель управления и загрузить тему.

Это работает для Windows 7, но может быть изменено для Vista. Просто добавьте это или введите в командном окне:

C: \ Windows \ system32 \ rundll32.exe C: \ Windows \ system32 \ shell32.dll, Control_RunDLL C: \ Windows \ system32 \ desk.cpl desk, @ Темы / Действие: OpenTheme / файл: SomeDir \ themename. ThemePack

По сути, просто используйте rundll32, чтобы запустить панель управления, а затем подайте в нее свою тему. Появится диалоговое окно панели управления, но тема будет установлена ​​автоматически.

Если вы хотите установить тему без всплывающего диалогового окна, вам понадобится массивный взлом реестра.

0 голосов
/ 15 ноября 2008

Вот грязный хак: Если ничего не помогает, вы можете попробовать UI Automation Toolkit, чтобы автоматически «нажать» на кнопку ОК. :)

...