我想知道有什么办法可以锁住键盘,让按任意键都没有反映,这样又可以开启键盘!

解决方案 »

  1.   

    .....
    var
      Form1: TForm1;
      KHK: HHook;
      tmp: integer;implementation{$R *.DFM}function HookProc(ICode: integer;WP:WParam;LP:LParam):LResult;
    begin
      Result:=CallNextHookEx(KHK,0,0,0);
    end;
    procedure TForm1.Button1Click(Sender: TObject);
    begin
       KHK:=SetWindowsHookex(WH_JOURNALPLAYBACK,@HookProc,HInstance,0);
    end;procedure TForm1.Button2Click(Sender: TObject);
    begin
       UnHookWindowsHookEx(KHK);
    end;
    .....
      

  2.   

    其实,上面的那段用ctrl+alt+del就解锁了
      

  3.   

    那怎么可以呢,我锁键盘的目的就是要按ctrl+alt+del不能有反映呀!
      

  4.   

    汇编在98下可以的,2000、nt不行;如若加上下面的
    procedure TForm1.Button4Click(Sender: TObject);
    begin
       KHK:=SetWindowsHookexWH_JOURNALPLAYBACK,@HookProc,HInstance,0);
       SystemParametersInfo(SPI_SCREENSAVERRUNNING, 1, @tmp, 0);
    end;
    则可以屏蔽系统键Ctrl-Alt-Tab,Ctrl-Esc,Alt-Tab等,可是ctrl+alt+del还是不行!
       
      

  5.   

    楼主可关注下贴
    http://expert.csdn.net/Expert/topic/850/850771.xml?temp=.1610987
    那里有一个方法。