Вверх ↑
Этот топик читают: Гость
Ответов: 105
Рейтинг: 1
#1: 2021-01-08 14:37:00 ЛС | профиль | цитата
не получается прочитать параметр реестра, ветка HKEY_CURRENT_USER\Software\Microsoft\Windows\DWM , параметр ColorizationColor

Add(Memo,4377762,427,273)
{
Left=370
Top=190
Width=170
Height=135
}
Add(Button,11393106,308,273)
{
Left=310
Top=180
link(onClick,10223849:doRead,[])
}
Add(Registry,10223849,371,273)
{
HKey=1
Key="Software\Microsoft\Windows\DWM"
Value="ColorizationColor"
DataType=0
link(onRead,4377762:doAdd,[])
}



хочу получить цвет используемой темы Windows , в этой теме https://sprosi.pro/questions/2180662/kak-ya-mogu-poluchit-tsvet-temyi-windows получают цвет из SystemColors.Whatever , а как получить это в Hiasm ?

Редактировалось 1 раз(а), последний 2021-01-08 14:37:27
карма: 0
well done turner
0
vip
#1.1контекстная реклама от партнеров
Ответов: 203
Рейтинг: 28
#2: 2021-01-08 19:19:04 ЛС | профиль | цитата
powerbatman писал(а):
не получается прочитать параметр реестра,

Попробуй.
Add(MainForm,2953706,140,84)
{
Height=250
link(onCreate,10223849:doRead,[])
}
Add(Memo,4377762,518,98)
{
Left=90
Top=5
Width=280
Height=200
}
Add(Registry,10223849,196,98)
{
HKey=1
Key="Software\Microsoft\Windows\DWM\"
Value="ColorizationColor"
DataType=3
link(onRead,14329994:doConvert,[])
}
Add(StreamConvertor,14329994,245,98)
{
link(onResult,5518469:doEvent1,[])
}
Add(Hub,5518469,287,98)
{
link(onEvent1,801853:doWork2,[])
link(onEvent2,582424:doEnum,[(312,111)(312,132)])
}
Add(Str_Enum,582424,322,126)
{
Delimiter=""
Step=2
Direct=1
link(onEnum,8342452:doStrCat,[])
link(onEndEnum,1441726:doData,[(403,139)(403,195)])
}
Add(StrCat,8342452,420,126)
{
link(Str1,16159061:Var1,[(426,117)(412,117)(412,166)])
}
Add(DoData,1441726,420,189)
{
link(onEventData,801853:doWork3,[(494,195)])
link(Data,16159061:Var2,[])
}
Add(GetDataEx,16159061,420,161)
{
link(Data,8342452:Result,[])
}
Add(HubEx,801853,490,98)
{
link(onEvent,4377762:doAdd,[])
}


И, конечно, можно так.
Add(MainForm,2953706,217,105)
{
link(onCreate,7764312:doString,[])
}
Add(FormatStr,7764312,280,119)
{
Mask="REG QUERY HKCU\Software\Microsoft\Windows\DWM /v ColorizationColor"
link(onFString,14545432:doConsoleExec,[])
}
Add(WinExec,14545432,336,105)
{
Mode=0
Point(doConsoleExec)
Point(doConsoleInput)
Point(onConsoleResult)
link(onConsoleResult,861132:doAdd,[])
}
Add(Memo,861132,392,119)
{
Left=445
Top=125
Align=5
ScrollBars=3
}


Редактировалось 1 раз(а), последний 2021-01-08 20:00:51
карма: 5

1
Голосовали:powerbatman
Ответов: 847
Рейтинг: 101
#3: 2021-01-09 08:37:28 ЛС | профиль | цитата

Add(MainForm,10977539,238,147)
{
Width=257
Height=214
Point(doColor)
link(onCreate,10223849:doRead,[])
}
Add(Registry,10223849,287,161)
{
HKey=1
Key="Software\Microsoft\Windows\DWM"
Value="ColorizationColor"
DataType=0
link(onRead,7602140:doGetAccentColor,[])
}
Add(InlineCode,7602140,364,161)
{
WorkPoints=#16:doGetAccentColor|
EventPoints=#8:onResult|
DataPoints=#4:Data|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|4:uses|28: Windows, KOL, Share, Debug;|0:|4:type|29: THiAsmClass = class(TDebug)|11: private|0:|10: public|22: Data: THI_Event;|29: onResult: THI_Event; |64: procedure doGetAccentColor(var _Data: TData; Index: Word);|6: end;|0:|14:implementation|0:|70:procedure THiAsmClass.doGetAccentColor(var _Data: TData; Index: Word);|3:var|16: col: cardinal;|19: newcolor: TColor;|16: a,r,g,b: byte;|5:begin|36: col := ReadInteger(_Data, Data, 0);|2: |24: a := Byte(col shr 24);|24: r := Byte(col shr 16);|23: g := Byte(col shr 8);|17: b := Byte(col);|0:|18: newcolor := RGB(|29: round(r*(a/255)+255-a),|29: round(g*(a/255)+255-a),|28: round(b*(a/255)+255-a)|4: );|0:|33: _hi_OnEvent(onResult, newcolor);|4:end;|0:|4:end.|
link(onResult,4517818:doEvent1,[])
link(Data,10223849:RData,[(370,149)(345,149)(345,218)(293,218)])
}
Add(Hub,4517818,413,161)
{
link(onEvent1,12340051:doGetRGB,[])
link(onEvent2,10977539:doColor,[(470,174)(470,242)(207,242)(207,181)])
}
Add(ToRGB,12340051,497,161)
{
link(onResult,13625147:doString,[(541,167)(541,202)(485,202)(485,237)])
}
Add(FormatStr,13625147,497,231)
{
DataCount=3
Mask="r%1 g%2 b%3"
link(onFString,10102181:doText,[])
link(Str1,12340051:R,[])
link(Str2,12340051:G,[])
link(Str3,12340051:B,[])
}
Add(Label,10102181,553,231)
{
Left=10
Top=20
Width=48
Height=23
Font=[MS Sans Serif,12,1,16777215,1]
Transparent=0
Point(doColor)
}


карма: 0

1
Голосовали:powerbatman
Ответов: 203
Рейтинг: 28
#4: 2021-01-09 13:35:41 ЛС | профиль | цитата
Те же яйца, только вид сбоку

Add(MainForm,15848654,175,77)
{
Width=271
Height=109
Point(doColor)
Point(doAlphaBlendValue)
link(onCreate,10223849:doRead,[])
}
Add(Memo,4377762,728,154)
{
Width=255
Height=70
Align=5
Font=[MS Sans Serif,8,0,16777215,1]
Point(doColor)
}
Add(Registry,10223849,224,91)
{
HKey=1
Key="Software\Microsoft\Windows\DWM\"
Value="ColorizationColor"
DataType=3
link(onRead,14329994:doConvert,[])
}
Add(StreamConvertor,14329994,273,91)
{
link(onResult,5518469:doEvent1,[])
}
Add(Hub,5518469,322,91)
{
OutCount=3
link(onEvent1,15848654:doCaption,[(347,97)(347,69)(165,69)(165,83)])
link(onEvent2,582424:doEnum,[])
link(onEvent3,11564778:doCalc,[(361,111)(361,160)])
}
Add(Str_Enum,582424,371,98)
{
Delimiter=""
Step=2
link(onEnum,16252263:doConvert,[])
}
Add(RGB,9187325,483,154)
{
link(onRGB,13639918:doShade,[])
link(R,2422420:Value2,[])
link(G,2422420:Value3,[])
link(B,2422420:Value4,[])
}
Add(MemFIFO,2422420,476,98)
{
Count=4
}
Add(Convertor,16252263,420,98)
{
Mode=5
link(onResult,2422420:doValue,[])
}
Add(ColorShade,13639918,546,154)
{
Color=16777215
Mode=0
link(onResult,13062751:doEvent1,[])
link(Color,9187325:Color,[(552,145)(538,145)(538,201)(489,201)])
link(Depth,11564778:Result,[(559,138)(531,138)(531,194)(419,194)])
}
Add(ToRGB,12100942,630,154)
{
link(onResult,3569760:doString,[])
}
Add(FormatStr,3569760,679,154)
{
DataCount=3
Mask="Red: %1\r\nGreen: %2\r\nBlue: %3"
link(onFString,4377762:doAdd,[])
}
Add(Hub,13062751,588,154)
{
link(onEvent1,12100942:doGetRGB,[])
link(onEvent2,4377762:doColor,[(718,167)(718,188)])
}
Add(MathParse,11564778,413,154)
{
MathStr="round((1-%1/255)*100)"
link(onResult,9187325:doRGB,[])
link(X1,2422420:Value1,[(419,145)(482,145)])
}

карма: 5

1
Голосовали:powerbatman
Ответов: 105
Рейтинг: 1
#5: 2021-01-10 18:26:45 ЛС | профиль | цитата
Gunta, flud, спасибо !
карма: 0
well done turner
0
5
Сообщение
...
Прикрепленные файлы
(файлы не залиты)