Как программно изменить текущую тему Windows?
Конечно, есть веские причины windows-applications для программного изменения windows текущей темы. Например. инструменту theme автоматического тестирования windows-application может потребоваться переключение windows-application между различными темами, чтобы windows-programming убедиться, что приложение windows-application правильно работает со всеми windows-programming из них.
Как пользователь, вы windows можете изменить тему, дважды windows щелкнув файл .theme
в Windwos Explorer, а theme затем закрыв всплывающий windows-programming апплет панели управления. Вы windows-programming можете легко сделать то же windows самое из кода. Приведенные windows-applications ниже шаги отлично подходят windows-application для меня. Я тестировал только theme Windows 7.
- Используйте
SHGetKnownFolderPath()
, чтобы получить папку «Local AppData» для пользователя. Файлы тем хранятся в подпапкеMicrosoft\Windows\Themes
. Файлы тем, хранящиеся там, применяются напрямую, а файлы тем, хранящиеся в другом месте, дублируются при их выполнении. Поэтому лучше использовать файлы только из этой папки. - Используйте
ShellExecute()
для выполнения файла.theme
, который вы нашли на шаге 1. - Дождитесь применения темы. Я просто позволяю своему приложению спать на 2 секунды.
- Вызовите
FindWindow('CabinetWClass', 'Personalization')
, чтобы получить дескриптор окна панели управления, которое появляется при применении темы. Заголовок «Персонализация», вероятно, будет отличаться в версиях Windows, отличных от английского (США). - Вызов
PostMessage(HWND, WM_CLOSE, 0, 0)
, чтобы закрыть окно панели управления.
Это не очень элегантное windows-application решение, но оно работает.
windows
themes
Как программно изменить текущую тему Windows?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.