TheCardinal: su método de registro no cambia instantáneamente el color y requiere reiniciar el servicio del administrador de ventanas del escritorio. Hay una función API de Windows no documentada que le permite cambiar el color del tema Aero al instante. (Esto es nuevo, un cambio global - se aplica a todas las ventanas)
aunque no tengo el código C# para hacer esto, VB.NET debería ayudar a ya que son esencialmente la misma cosa
<DllImport("dwmapi.dll", EntryPoint:="#127", PreserveSig:=False)> _
Public Shared Sub DwmGetColorizationParameters(ByRef parameters As WDM_COLORIZATION_PARAMS)
End Sub
//this above function GETS the color, and stores it in parameters.
<DllImport("dwmapi.dll", EntryPoint:="#131", PreserveSig:=False)> _
Public Shared Sub DwmSetColorizationParameters(ByRef parameters As WDM_COLORIZATION_PARAMS, ByVal uUnknown As UInteger)
End Sub
//this above function SETS the color, and stores it in parameters.
y finalmente, el WDM_COLORIZATION_PARAMS struct se define como tal (de nuevo en VB.NET, lo siento)
Public Structure WDM_COLORIZATION_PARAMS
Public Color1 As Int32
Public Color2 As Int32
Public Intensity As Int32
Public Unknown1 As Int32
Public Unknown2 As Int32
Public Unknown3 As Int32
Public Opaque As Long
End Structure
lógica de código sería como sigue:
WDM_COLORIZATION_PARAMS temp = getColor();
temp.Color1 = System.Drawing.Color.FromArgb(alpha,red,green,blue).ToArgb();
temp.Color2 = System.Drawing.Color.FromArgb(alpha,red,green,blue).ToArgb();
setColor(temp);
¿cómo se cambia el color con las teclas de registro? ¿tienes algún código de muestra? : D sobre cómo implementar esto? : D – TheCardinal