这个是拦截按键消息并测试是否为ENTER键。 begin case wParam of WM_KEYDOWN: fEatKeystroke := (p.vkCode = VK_RETURN); end; if fEatKeystroke = True then begin form1.ReplaceText; end; end;
我想改成拦截按键'E'的,也不知道怎么整 大侠们帮帮忙吧 急啊VK_RETURN改成VK_E fEatKeystroke := (p.vkCode = VK_RETURN); 修改为 fEatKeystroke := (p.vkCode = 69); vk_e不好用 [Error] Unithook.pas(78): Undeclared identifier: 'VK_E' [Fatal Error] hook.dpr(5): Could not compile used unit 'Unithook.pas' 查一下asiic码表,E的键值是69 注意‘E’和‘e’是不一样的,区分大小写 fEatKeystroke := (p.vkCode = 69); 这个我等试试 p.vkCode 这个是干什么的 接受按键值的?
那就改成VKcode=69 p.vkCode 是KeyDown事件中按下键的码值 先看p.vkCode的结构,如果69可行的话就好,如果是set呢?? 这个是判断按键值的,p.vkCode = VK_RETURN得出一个true或者false的结果,并返回到fEatKeystroke 我点VK_RETURN 进去看了 { VK_0 thru VK_9 are the same as ASCII '0' thru '9' ($30 - $39) } { VK_A thru VK_Z are the same as ASCII 'A' thru 'Z' ($41 - $5A) } VK_E 是不是没注册啊