您的位置:程序门 -> vb ->



vb中如何将lparam转换为键值


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


vb中如何将lparam转换为键值[已结贴,结贴人:jinder]
发表于:2007-09-18 15:09:02 楼主
如题
发表于:2007-09-18 16:26:341楼 得分:0
我先晕一下,wparam才是键值,而且还就是ascii键值
lparam是键操作,这个你作个小程序就能把常用键操作全部得到
发表于:2007-09-18 16:42:192楼 得分:20
不好意思,好象lparam同时包含键值和键操作
好象lparam的倒数第3个字节就是键值,你还是作个小程序获取全部键值吧。
发表于:2007-09-19 01:16:203楼 得分:5
msdn2.microsoft.com/library/ms646280.aspx   -   12k
发表于:2007-09-19 22:31:494楼 得分:0
糟糕,是我表达不好,应该这么说,怎样从lparam得到ascii值?
发表于:2007-09-20 17:32:115楼 得分:10
scancode=lparam   and   &hff
virtualkey=mapvirtualkey(scancode,1)
ascii=mapvirtualkey(virtualkey,2)

这样?lparam是那里得来的?hook?setwindowlong?还是其他?
发表于:2007-09-20 17:32:406楼 得分:5
参照这里:http://access911.net/ocr/doc1.asp?mode=a&bid=005101&aid=5252514
发表于:2007-09-22 09:06:177楼 得分:0
这样?lparam是那里得来的?hook?setwindowlong?还是其他?
-----------------------
hook
发表于:2007-09-22 10:57:498楼 得分:60
对于键盘hook获得的lparam,一般是一个结构,如下
private   type   eventmsg
        wmsg   as   long
        lparaml   as   long
        lparamh   as   long
        msgtime   as   long
        hwndmsg   as   long
end   type
你可以这样得按键的ascii
dim   emsg   as   eventmsg
.....
copymemory   emsg,   byval   lparam,   len(emsg)
debug.print   emsg.wmsg
发表于:2007-10-11 13:12:269楼 得分:0
ok了,谢谢


快速检索

最新资讯
热门点击