我写了一个自动控制指定窗体的键盘操作的程序,在发送键盘事件时,不想让用户的键盘进行干预操作,不知怎么实现,我使用锁21端品的方法,在98可以运行但是同理程序发送的键盘事件也无效了,在2000下无法直接写21摘口,请问还有什么方法,是不是非要使用键盘勾子吗?请高手指点!

解决方案 »

  1.   

    对,键盘钩子,锁键盘和鼠标 Playback journal HOOK
      

  2.   

    var KHK: HHook;
    function HookProc(ICode: integer;WP:WParam;LP:LParam):LResult;
    begin
     Result:=CallNextHookEx(KHK,0,0,0);
    end;使用下列语句可以锁定:
    KHK:=SetWindowsHookex(WH_JOURNALPLAYBACK,@HookProc,HInstance,0);
    使用下列语句结束锁定:
    UnHookWindowsHookEx(KHK);
    不知对不对?它会不会影响我的程序的键盘事件的正常工作?
      

  3.   

    我已经实现了,如何让keybd_event可以发,而用户不能进行键盘操作呢?
      

  4.   

    u can use keybd_event in your hook HookProc function
      

  5.   

    如何在钩子里知道是keybd_event发来的还是用户键盘操作的呢?