用Hook使控件支持Unicode

1、首先,程序肯定不是直接通过启动窗口启动的,而是绕了个弯子:
先执行了“InlineHook_”的命令,钩掉了“DrawTextA”,“CreateWindowExA”,“SetWindowLongA”3个函数 2、处理,处理“CreateWindowExA”,“SetWindowLongA”并不是很困难,用他们对应的Unicode版的命令替换掉就OK
3、处理DrawTextA,标签是通过这个函数来把字符绘制上去的,所以要处理掉这个函数:
其实就是判断一下是否是要绘制标签,然后用“DrawTextW”替换“DrawTextA”,否则执行“DrawTextA” 4、设置标题,其实就是用“SetWindowTextW”这个函数
注意“#测试Unicode”中的Unicode不是标准的Unicode,需要加上{0,0} 5、使用,你就会惊奇地发现……
下载链接:https://t00y.com/file/20110282-443944736
|