用Hook使控件支持Unicode[易语言源码]

(゜-゜)つロ 干杯~

用Hook使控件支持Unicode[易语言源码]

点评

众所周知,易自带的普通窗口、编辑框等等在中文系统上都是 CP_GB2312 的代码页,所以像一些其它国家的文字就无法显示, 更不用提 emoji 表情之类的了。

其实,在这之前我做了一些小小的处理(啊???)

思路不是很难

如果不介意的话,阅读代码时,可以配合这下面我的思路看看:

1、首先,程序肯定不是直接通过启动窗口启动的,而是绕了个弯子:

先执行了“InlineHook_”的命令,钩掉了“DrawTextA”,“CreateWindowExA”,“SetWindowLongA”3个函数
2、处理,处理“CreateWindowExA”,“SetWindowLongA”并不是很困难,用他们对应的Unicode版的命令替换掉就OK

3、处理DrawTextA,标签是通过这个函数来把字符绘制上去的,所以要处理掉这个函数:

其实就是判断一下是否是要绘制标签,然后用“DrawTextW”替换“DrawTextA”,否则执行“DrawTextA”
4、设置标题,其实就是用“SetWindowTextW”这个函数

注意“#测试Unicode”中的Unicode不是标准的Unicode,需要加上{0,0}
5、使用,你就会惊奇地发现……

下载地址

   

如果资源下载失效请到 留言板 留言或者 QQ 联系我。

本站默认解压密码:www.hibbba.com

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: