这个是拦截按键消息并测试是否为ENTER键。
  begin
    case wParam of
      WM_KEYDOWN:
      fEatKeystroke := (p.vkCode = VK_RETURN);
    end;
    if fEatKeystroke = True then
    begin
      form1.ReplaceText;
    end;
  end;我想改成拦截按键'E'的,也不知道怎么整 大侠们帮帮忙吧 急啊

解决方案 »

  1.   

    fEatKeystroke := (p.vkCode = VK_RETURN); 
    修改为
    fEatKeystroke := (p.vkCode = 69); 
      

  2.   

    vk_e不好用 
      [Error] Unithook.pas(78): Undeclared identifier: 'VK_E'
      [Fatal Error] hook.dpr(5): Could not compile used unit 'Unithook.pas'
      

  3.   

    本帖最后由 bdmh 于 2009-09-30 12:39:34 编辑
      

  4.   

    fEatKeystroke := (p.vkCode = 69); 
    这个我等试试
      

  5.   

    p.vkCode 这个是干什么的 接受按键值的?
      

  6.   

    p.vkCode 是KeyDown事件中按下键的码值
      

  7.   

    先看p.vkCode的结构,如果69可行的话就好,如果是set呢??
      

  8.   

    这个是判断按键值的,p.vkCode = VK_RETURN得出一个true或者false的结果,并返回到fEatKeystroke
      

  9.   

    我点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 是不是没注册啊