【VB6】获取输入法候选词列表
不要问我为什么要输入“啊实打实大苏打”……
和上次那个C语言的实例不同,这个因为VB6有自己的窗口编辑器,你需要把消息处理函数Hook了才能自己处理输入法的消息(而别的消息都被VB封装成了控件或者窗体事件了)。
Hook的方式依然是用GetWindowLong(hWnd, GWL_WNDPROC)来取得旧消息处理函数的地址,然后用SetWindowLong hWnd, GWL_WNDPROC, AddressOf 你的消息处理函数的地址
类似的例子,VB6处理鼠标滚轮事件,也是需要Hook消息处理函数的。
参考帖子:
【VB6】响应鼠标滚轮事件
【VB6】鼠标滚轮支持模块
因为你的消息处理函数在VB6里调试执行的时候是解释执行,所以你不能在Hook了消息处理函数后再用VB6的IDE暂停执行。否则你的VB6的整个IDE都无法处理你的窗口消息,最后崩掉。
回帖后查看源码。
**** Hidden Message *****
参考:https://www.0xaa55.com/thread-430-1-1.html
好早就发出来了.这么勤力 感谢老哥! 东西不错 我记得这个你发过几个语言版本的了。忽然发现,可以把你这玩意整合进我的FAKE-DOS-EDITOR里了! 蛮有想法的一个功能
今天学习,来得及吗:'( 这个可以看看.不错 刚好想相关的东西 好好学习一下 看看学习下 这个看着不错啊,学习一下 学习学习 楼主威武 值得借鉴,留存 东西不错 谢谢分享 啥也不说了,帖子就是带劲! 瞻仰一下:lol 不错,学习一下 感谢分享!
下载学习!
页:
[1]
2