如何使用c#更改windows配色方案?

如何使用c#更改windows配色方案?,c#,windows,C#,Windows,如何使用c#以编程方式更改配色方案?我想将配色方案更改为windows vista basic或windows 7 basic。我该怎么做? 谢谢 Nikil.您可以使用SetSystemVisualStyle方法更改系统的主题 链接到 C#示例用法: // This will set your Visual Style to Luna SetSystemVisualStyle(@"C:\WINDOWS\resources\Themes\Luna\Luna.msstyles", "Metalli

如何使用c#以编程方式更改配色方案?我想将配色方案更改为windows vista basic或windows 7 basic。我该怎么做? 谢谢
Nikil.

您可以使用SetSystemVisualStyle方法更改系统的主题

链接到

C#示例用法:

// This will set your Visual Style to Luna
SetSystemVisualStyle(@"C:\WINDOWS\resources\Themes\Luna\Luna.msstyles", "Metallic", "NormalSize", 0);

这是对我最有效的方法。使用我的图形密集型程序,WindowsVista和7最终迫使系统重新使用WindowsBasic颜色。但如果我在那之前最小化或最大化MDI窗口,所有的东西都会被完全锁定。我必须按住电源按钮5秒钟才能关机,然后重新启动。以下是我在程序执行开始时转到Windows基本颜色的内容:

using System.Runtime.InteropServices; 

    //1-9-2013: so we can DISABLE COMPOSITING -- forcing Windows "Aero Glass" to revert to "Aero Basic"
    [DllImport("dwmapi.dll", PreserveSig = false)]
    public static extern void DwmEnableComposition(bool bEnable);

            DwmEnableComposition(false);    //DISABLE COMPOSITING -- forces Windows "Aero Glass" to revert to "Aero Basic"
对Aero Basic的更改适用于Windows本身,影响所有正在运行的程序。退出此应用程序后,系统将恢复为“Aero Glass”。可能还有其他副作用,但到目前为止,它对我来说运行良好


另一方面,这在Windows 8中似乎已被弃用,除了返回一个True之外,它什么也不做。我的应用程序是一个实时监控程序,机器上没有其他任何东西,因此我可以轻松地强制使用Windows基本颜色。所以这是一个解决办法,直到我能找到我的应用程序中用Aero Glass吞噬了这么多机器循环的东西。

我想这种方法需要提升