主要实现了两个功能:
1. 自动化调用__cdecl函数,内部自动进行栈平衡
思路:所以接口都是代理函数,内部直接调用 _wkeRedirect,而这个函数会回溯到调用代理函数的那一帧,保存当前栈情况,调用完后返回本函数,本函数恢复栈帧,直接平衡栈,返回代理函数,类型32位或64位都支持
2. 自动化包装函数,把函数包装成__cdecl,返回包装函数地址
思路: 一般思路
于是可以:
不使用易语言dll表的@前缀(从而不用dll表),改成句柄调用miniblink的__cdecl
至于使用句柄的原因,可以参考peload等场景
自动化让封装函数变成只有一两句函数,就像这个样子:
附:Ex DirectUI 3.0 & MiniBlink合作例子
采用了离屏渲染方式,画面有更新的时候调用bitblt拷贝,sizing等wke不响应的时候通过wkePaint强制重绘。
高DPI适配(最低支持Visita,XP无)
虽然绘画方式保证了正确渲染,但MiniBlink普通版(非个人版...)有其自身限制
相比纯MiniBlink,优势:
请读者遇到了再自行对比