https://sourceforge.net/projects/audica/
 
HILIGHTS (0.4.0 -> 0.5.1):
 
- Поддержка обложек (из папки или ID3V2 тегов).
 
- Поиск по плейлисту, сортировка плейлистов.
 
- Улучшенная поддержка Unicode.
 
- Инфо-окно отображает информацию о композиции и громкость.
 
- Получение тегов OGG интернет-потоков.
 
- Визуализация: изменение цвета окон Windows Aero.
 
- Фиксы, увеличена стабильность.
 
 
Так вот. Сабж находится в файле modSpectrum.basPrivate Type WDM_COLORIZATION_PARAMS
 
    Color1 As Long
 
    Color2 As Long
 
    intensity As Long
 
    Unknown1 As Long
 
    Unknown2 As Long
 
    Unknown3 As Long
 
    Opaque As Long
 
End Type
 
Private Declare Sub WdmGetColorizationParameters Lib "dwmapi.dll" Alias "#127" (ByRef parameters As WDM_COLORIZATION_PARAMS)
 
Private Declare Sub WdmSetColorizationParameters Lib "dwmapi.dll" Alias "#131" (ByRef parameters As WDM_COLORIZATION_PARAMS, ByVal uUnknown As Long)
 
Dim p As WDM_COLORIZATION_PARAMS, special As Long, wdm_saved_color As Long, wdm_is_on As Boolean
 
 
Public Sub RestoreWDMColor()
 
    If wdm_is_on Then
 
        p.Color1 = special + wdm_saved_color
 
        p.Color2 = p.Color1
 
        WdmSetColorizationParameters p, 0
 
    End If
 
End Sub
 
 
Public Sub UnInitWDM()
 
    Call RestoreWDMColor
 
    wdm_is_on = False
 
End Sub
 
 
Public Sub InitWDM()
 
On Error GoTo 1:
 
    WdmGetColorizationParameters p
 
    special = Sgn(p.Color1) * (p.Color1 And &HFF000000)
 
    wdm_saved_color = p.Color1 And &HFFFFFF
 
    wdm_is_on = True
 
Exit Sub
 
1: qError "Cannot initializate WDM."
 
End Sub
 
 
Public Function WDMIsReady() As Boolean
 
On Error GoTo 1:
 
    Dim ret As WDM_COLORIZATION_PARAMS
 
    WdmGetColorizationParameters ret
 
    WDMIsReady = True
 
1:
 
End Function 
 
WDMIsReady - доступно ли изменение цвета
 
InitWDM - считать текущие параметры цвета, запомнить старый цвет и параметр special
 
RestoreWDMColor - восстановить старый цвет
 
wdm_saved_color - старый цвет
 
special - 4ый байт Color1 - не разобрался как, но это связано с интенсивностью цвета, как и параметры intensity, Unknown1, Unknown2, Unknown3
 
Opaque - 1=без прозрачноти, 0=прозрачность
 
Color2 - опять же не ясно зачем, но всегда равен Color1
 
 
Установка нового цвета происходит так
 
p.Color1 = special + RGB(B, G, R)
 
p.Color2 = p.Color1
 
WdmSetColorizationParameters p, 0 
Ответить
        |