NikLok,
Цитата:
как определить цвет панели задач?
|
У неё вроде цвет тот же что и у интерфейса других окон. А для получения системных цветов есть UDF:
Код:

Const $COLOR_SCROLLBAR = 0 ; - цвет полосы прокрутки
Const $COLOR_BACKGROUND = 1 ; - цвет фона окна
Const $COLOR_ACTIVECAPTION = 2 ; - цвет заголовка активного окна
Const $COLOR_INACTIVECAPTION = 3 ; - цвет заголовка неактивного окна
Const $COLOR_MENU = 4 ; - цвет меню
Const $COLOR_WINDOW = 5 ; - цвет окна
Const $COLOR_WINDOWFRAME = 6 ; - цвет обрамления окна
Const $COLOR_MENUTEXT = 7 ; - цвет текста меню
Const $COLOR_WINDOWTEXT = 8 ; - цвет текста окна
Const $COLOR_CAPTIONTEXT = 9 ; - цвет текста в заголовке окна
Const $COLOR_ACTIVEBORDER = 10 ; - цвет активной границы окна
Const $COLOR_INACTIVEBORDER = 11 ; - цвет неактивной границы окна
Const $COLOR_APPWORKSPACE = 12 ; - цвет рабочего места окна
Const $COLOR_HIGHLIGHT = 13 ; - цвет подсветки
Const $COLOR_HIGHLIGHTTEXT = 14 ; - цвет подсвеченного текста
Const $COLOR_BTNFACE = 15 ; - цвет лицевой части кнопки
Const $COLOR_BTNSHADOW = 16 ; - цвет тени кнопки
Const $COLOR_GRAYTEXT = 17 ; - цвет "серого" текста
Const $COLOR_BTNTEXT = 18 ; - цвет текста в кнопке
Const $COLOR_INACTIVECAPTIONTEXT = 19 ; - цвет текста в заголовке неактивного окна
Const $COLOR_BTNHIGHLIGHT = 20 ; - цвет текущей кнопки
$nColor = _GetSysColor($COLOR_WINDOW)
GUICreate("_GetSysColor", 200, 100)
GUICtrlCreateLabel($nColor, 20, 15)
GUICtrlCreateLabel(" ", 30, 40, 32, 32)
GUICtrlSetBkColor(-1, $nColor)
GUISetState()
While 1
Switch GUIGetMsg()
Case -3
ExitLoop
EndSwitch
WEnd
;~ Позволяет получать системные цвета, определённые текущими параметрами оформления
Func _GetSysColor($nIndex)
$BGRColor = DllCall("user32.dll", "long", "GetSysColor", "long", $nIndex)
$BGR = Hex ($BGRColor[0],6 )
$RGB = "0x" & StringRight($BGR,2) & StringMid($BGR,3,2) & StringLeft($BGR,2)
Return $RGB
EndFunc
Ну или можно через PixelGetColor...
Код:

$TaskBar_Hwnd = WinGetHandle("[CLASS:Shell_TrayWnd]")
$nColor = PixelGetColor(5, 5, $TaskBar_Hwnd)
$nColor = "0x" & Hex($nColor, 6)
В любом случае могут возникнуть проблемы при использовании разных тем оформления.