Gui, Font, s24
Gui, Add, Text, c1049A9, Some Text - I'm Blue
Gui, Add, Link, y+5 hwndhLink1 cLime, <a href="https://autohotkey.com">Some Link - I'm Lime</a>
SetSysLinkColor(hLink1)
Gui, Add, Link, y+5 hwndhLink2, <a href="https://autohotkey.com">Some Other Link - I'm Red</a>
SetSysLinkColor(hLink2, "Red")
Gui, Show
Loop 3 {
Sleep, 300
SetSysLinkColor(hLink2, 0)
Sleep, 300
SetSysLinkColor(hLink2, 0xFF0000)
}
return
GuiClose:
ExitApp
SetSysLinkColor(hLink, color := "") {
static WM_USER := 0x400, LM_SETITEM := WM_USER + 0x302
, LIF_ITEMINDEX := 0x1, LIF_STATE := 0x2
, LIS_DEFAULTCOLORS := 0x10
, L_MAX_URL_LENGTH := 2048 + 32 + 3, MAX_LINKID_TEXT := 48
if (color != "") {
hGui := DllCall("GetParent", Ptr, hLink, Ptr)
Gui, %hGui%: Font, c%color%
GuiControl, %hGui%: Font, %hLink%
}
VarSetCapacity(LITEM, 4*4 + (MAX_LINKID_TEXT + L_MAX_URL_LENGTH)*2, 0)
NumPut(LIF_ITEMINDEX | LIF_STATE, LITEM)
NumPut(LIS_DEFAULTCOLORS, LITEM, 8)
NumPut(LIS_DEFAULTCOLORS, LITEM, 12)
while DllCall("SendMessage", Ptr, hLink, UInt, LM_SETITEM, Ptr, 0, Ptr, &LITEM)
NumPut(A_Index, LITEM, 4, "UInt")
}