2011-08-18 2 views
2

не могли бы вы помочь мне?Изменить тему в Windows XP или Windows 7 (молния)

Что мне нужно - это метод изменения темы на компьютере с Windows, не запрашивая у пользователя окно свойств дисплея (персонализации). Темамен должен использовать файл .theme из каталога c: \ windows \ resources \ themes \ и НЕ применять новый .msstyles. Метод должен применять только файл .theme. Мне просто не удалось найти способ применить тему, не создавая окна персонализации. Чтобы подчеркнуть, я не хочу решать это через скрипты или макросы. А также закрытие окна с помощью «sendkeys» не является вариантом, потому что оно все равно будет видно на мгновение.

Возможно, есть выход из-за функции WINAPI или простого взлома реестра? Пожалуйста, дайте мне совет. Спасибо.

С наилучшими пожеланиями

+0

Вы все еще можете использовать скрипт, чтобы открыть окно темы и поместить его на экран ... – Dani

+0

Но окно все равно будет отображаться в течение короткого времени, прежде чем оно выйдет из экрана, не так ли? Дело в том, что Windows использует Desk.cpl для управления темами, и я хочу, чтобы он начал скрываться. – Phillip

+0

Я не уверен. Если в данный момент вы создаете окна, вы перемещаете их на экран, это может вообще не отображаться. – Dani

ответ

1
'Script name: yourtheme.vbs 
'Object: Automate without command prompt the application of a Windows Theme by a VB script 
' 
'SCRIPT CONTENTS: 
'Define Variables : 

    Set ShellApp = CreateObject("Shell.Application") 
    Set WsShell = CreateObject("Wscript.Shell") 


' 
'Define path for your file theme (put it on a network share and don't forget to apply "read and execute" ACL for your Users) 

    Theme = "typeyoursharepath\typeyourtheme.theme" 
    Theme = """" + Theme + """" 


'Open Display Properties Windows, Select your theme and apply with keep focus on Windows 

    ShellApp.ControlPanelItem cstr("desk.cpl desk,@Themes /Action:OpenTheme /file:" & Theme) 
    Wscript.Sleep 100 
    WsShell.SendKeys "{ENTER}" 
    While WsShell.AppActivate ("Display Properties") = TRUE 
     WsShell.AppActivate "Display Properties" 
    Wend 

'In case of problem try to use a timeout value more important like "Wscript.Sleep 2000" 
'END OF SCRIPT 

'NOTES: 
'APPLIED SUCCESSFULLY ON WINDOWS XP AND WINDOWS SERVER 2003R2 X86 AND UNDER CITRIX XENAPP 4.6FP7 (OS: W2003R2X86 SP2) TO APPLY WINDOWS EMBEDDED THEME WITH BLUE BACKGROUND COLOR MORE LIGHT. 
'LOOKS GREAT ON CITRIX SESSION USER! 
'INTEGRATED IN USER CONFIG GPO AT USER LOGON UNDER CITRIX XENAPP. 
0

Я не думаю, что есть собственный способ изменить Windows 7 (и Windows 8) тему молча, но вы можете попробовать использовать winaero тему переключатель. вы можете прочитать и скачать его here.

Смежные вопросы