winapi - Skift tema i Windows XP eller Windows 7 (stille)

Indlæg af Hanne Mølgaard Plasc

Problem



Kan du venligst hjælpe mig?


Det, jeg har brug for, er en metode til at ændre temaet på en Windows-maskine uden at anmode brugeren om vinduet med displayegenskaber (personalisering). Temaudvekslingen skal anvende en .theme-fil fra c: \ windows \ resources \ themes \ directory og IKKE anvende en ny .msstyles. Metode bør kun anvende en .theme-fil. Jeg har lige ikke været i stand til at finde en måde at anvende temaet på uden at få vist personaliseringsvinduet. At understrege, jeg ønsker ikke at løse dette via scripts eller makroer. Og det er ikke en mulighed at lukke vinduet via 'sendkeys', fordi det stadig ses kort.


Måske er der en vej ud gennem WINAPI-funktionen eller simpel registreringshak? Vær venlig at give mig råd. Tak skal du have.


Med venlig hilsen

Bedste reference


'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	ypeyourtheme.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.

Andre referencer 1


Jeg tror ikke, at der er en indfødt måde at ændre Windows 7 's (og Windows 8' s) tema lydløst på, men du kan prøve at bruge Winaero Theme Switcher. Du kan læse om og downloade det her. [2]