9
我正在使用Windows 7 RTM,我不知道控制面板如何在不重新启动DWM(uxsms)的情况下如此平稳地更新Aero Glass颜色。 DwmSetColorizationColor不工作任何更多...Windows如何更改Aero Glass颜色?
我正在使用Windows 7 RTM,我不知道控制面板如何在不重新启动DWM(uxsms)的情况下如此平稳地更新Aero Glass颜色。 DwmSetColorizationColor不工作任何更多...Windows如何更改Aero Glass颜色?
下面的方法应该是你的兴趣:
[DllImport("dwmapi.dll", EntryPoint = "#127", PreserveSig = false)]
public static extern void DwmGetColorizationParameters(out WDM_COLORIZATION_PARAMS parameters);
[DllImport("dwmapi.dll", EntryPoint = "#131", PreserveSig = false)]
public static extern void DwmSetColorizationParameters(WDM_COLORIZATION_PARAMS parameters, uint uUnknown);
public struct WDM_COLORIZATION_PARAMS {
public uint Color1;
public uint Color2;
public uint Intensity;
public uint Unknown1;
public uint Unknown2;
public uint Unknown3;
public uint Opaque;
}
确保您调用DwmSetColorizationParameters方法之前做出DwmIsCompositionEnabled呼叫或将失败。
正如你所看到的一些参数/属性是未知的。
欲了解更多的信息,这里是一个link (in German)
+ 1抵消stupd -1。这个答案是对“如何做......”这个问题的回答。这可能就是它的原因。尽管我将原始问题解读为“How * does * it do ...”,而不是“* How *它会做什么......” – 2009-12-04 16:22:09
在Windows 7中,原始方法DWMSetColorization会引发异常(它在Windows Vista中受到支持)。我认为这是他的意图,找到一种新的方法,提供与旧的功能相同的功能。一种选择是编写.theme文件并执行该文件,或使用上面指定的未记录方法。 – Zyphrax 2009-12-06 13:09:08