Имя пользователя:
Пароль:
 

Показать сообщение отдельно
MKN MKN вне форума

Ветеран


Сообщения: 2398
Благодарности: 574

Профиль | Отправить PM | Цитировать


Вложения
Тип файла: zip Colors.zip
(617 байт, 19 просмотров)

Alex S,
Или можно из HEX получить RGB с помощью, например, известного Colors.nsh. Но это как то не очень красиво...
(можно и без хидера (.nsh) - просто поместить нужные макросы и назначения-определения (!define) в основной код скрипта. )

Код: Выделить весь код
!include Colors.nsh

!include LogicLib.nsh
!define /IfNDef CC_ANYCOLOR 0x00000100
!define /IfNDef CC_FULLOPEN 0x00000002

OutFile "colors.exe"
ShowInstDetails show

Section
System::Call '*(&l4, p $hWndParent, p0, i0, @r0, i ${CC_ANYCOLOR}|${CC_FULLOPEN}, p, p0, p0)p.r1'
System::Call 'COMDLG32::ChooseColorA(pr1)i.r0'
${If} $0 <> 0
System::Call '*$1(i,p,p,i.r0)'
IntFmt $0 "%.6X" $0
MessageBox MB_OK $0

StrCpy $9 $0

${EndIf}
System::Free $1 

${GetRvalueX} $0 "$9"
${GetGvalueX} $1 "$9"
${GetBvalueX} $2 "$9"
DetailPrint "Hex: $9 -> Red=$0; Green=$1; Blue=$2"
SectionEnd

Последний раз редактировалось MKN, 11-02-2025 в 16:51.

Это сообщение посчитали полезным следующие участники:

Отправлено: 13:03, 11-02-2025 | #2884