TheCardinal: il metodo del Registro di sistema non modifica immediatamente il colore e richiede il riavvio del servizio di gestione finestre del desktop. C'è una funzione API Windows non documentata che ti permette di cambiare istantaneamente il colore del tema Aero. (Questa è ancora una volta, un cambiamento globale - si applica a tutte le finestre)
anche se non ho il codice C# per fare questo, VB.NET dovrebbe aiutare dal momento che sono essenzialmente la stessa 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.
e infine il WDM_COLORIZATION_PARAMS struct è definita come tale (di nuovo in VB.NET, sorry)
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
logica del codice sarebbe il seguente:
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);
come si cambia il colore usando i tasti reg? hai qualche codice di esempio? : D su come implementarlo? : D – TheCardinal