2009-09-28 12 views

Respuesta

12

Los siguientes métodos deberían ser de su interés:

[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; 
} 

asegurarse de que hace una llamada a DwmIsCompositionEnabled antes de llamar al método DwmSetColorizationParameters o se producirá un error.

Como puede ver, algunos de los argumentos/propiedades son desconocidos.
Para obtener más información, aquí hay un link (in German)

+1

+1 para contrarrestar un stupd -1. Esta respuesta es una respuesta a la pregunta "¿Cómo funciona ...? Probablemente es así como lo hace. Aunque leí la pregunta original como "¿Qué hace * ...?" Y no "* ¿Cómo funciona? ..." –

+0

En Windows 7, el método original DWMSetColorization arroja una excepción (aunque fue compatible con Windows Vista)) Supongo que era su intención encontrar un nuevo método que ofrezca la misma funcionalidad que el anterior. Una opción es escribir un archivo .theme y ejecutarlo o utilizar el método no documentado que especifiqué anteriormente. – Zyphrax

Cuestiones relacionadas