窗口程序集名 | 保 留 | 保 留 | 备 注 |
入口程序集 | | | |
变量名 | 类 型 | 数组 | 备 注 |
hook | 类_InlineHook | |
clr | 整数型 | 4 |
ET.
添加事件处理 ( #事件标识_插件启用, &事件_插件启用
)ET.
添加事件处理 ( #事件标识_插件停用, &事件_插件停用
)返回 (0
)返回 (生成插件信息 (“插件名称”,
“插件备注”,
“1.0”,
“插件作者”, ,
))
hook.
安装HOOK (-1,
地址_取API地址 (“Gdi32.dll”,
“TextOutA”), &TextOutA,
)clr =
{ #红色, #绿色, #蓝色, #嫩黄 }hook.
卸载HOOK ()|
TextOutA | 整数型 | |
|
hdc | | | | |
x | | | | | y | | | | | lpString | 文本型 | | | | nCount | | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 |
i | 整数型 | | |
c | 整数型 | | |
flagx | 整数型 | | |
ret | 整数型 | | |
ff | 逻辑型 | | |
sz | Size | | |
hook.
暂停HOOK ()
如果 (lpString ≈
“ (” 或 lpString ≈
“(” 或 lpString ≈
“)”)
变量循环首 (取文本长度 (lpString
), 1, -1, i
) 

c =
取代码 (lpString, i
)

判断 (c = 40
)


flagx = flagx - 1


判断 (c = 41
)


flagx = flagx + 1










变量循环尾 ()
sn_SaveDC (hdc
)
判断 (flagx = 0
)
sn_SetTextColor (hdc, clr
[1
])
判断 (flagx > 0
)

如果 (c = 40
)

sn_SetTextColor (hdc, clr
[flagx % 4 + 1
])

sn_SetTextColor (hdc, clr
[ (flagx - 1
) % 4 + 1
])







如果 (nCount ≥ 2
且 (取代码 (lpString, 2
) = 40
或 取代码 (lpString, 2
) = 41
))

ff = 真

ret =
sn_TextOut (hdc, x, y, lpString, 1
)

ret =
sn_TextOut (hdc, x, y, lpString, nCount
)
sn_RestoreDC (hdc, -1)
ret =
sn_TextOut (hdc, x, y, lpString, nCount
)hook.继续HOOK ()
如果真 (ff
)
sn_GetTextExtentPoint32 (hdc, lpString, 1, sz
)
sn_TextOut (hdc, x + sz.cx, y,
指针到文本 (取变量数据地址 (lpString
) + 1
), nCount - 1
)返回 (ret)

