function LowLevelKeyboardProc(nCode: Integer;WParam: WPARAM;LParam: LPARAM):LRESULT; stdcall;
begin(((p.vkCode=VK_CONTROL) and (P.vkCode = LLKHF_ALTDOWN and p.flags) and (p.vkCode>=65) and (p.vkCode<=90) ))edn;这样无效

解决方案 »

  1.   

    网上找来的,参考一下:
    unit Unit1;interfaceuses
    Windows, Forms, Classes, Messages, SysUtils, Menus, shellapi, ExtCtrls,
      ShlObj, Registry, Controls, StdCtrls;type
      TForm1 = class(TForm)
        Button1: TButton;
        Button2: TButton;
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure EnableCTRLALTDEL(YesNo : boolean); 
    const
    sRegPolicies = '\Software\Microsoft\Windows\CurrentVersion\Policies'; 
    begin 
      with TRegistry.Create do 
      try 
        RootKey:=HKEY_CURRENT_USER; 
        if OpenKey(sRegPolicies+'\System\',True) then 
        begin 
          case YesNo of 
            False: 
              begin 
                WriteInteger('DisableTaskMgr',1); //任务管理
                WriteInteger('DisableLockWorkstation',1);//用户锁定计算机
                WriteInteger('DisableChangePassword',1);//用户更改口令
              end; 
            True:
              begin 
                WriteInteger('DisableTaskMgr',0);
                WriteInteger('DisableLockWorkstation',0);
                WriteInteger('DisableChangePassword',0);
              end; 
          end;
        end; 
        CloseKey; 
        if OpenKey(sRegPolicies+'\Explorer\',True) then 
        begin 
          case YesNo of 
            False: 
              begin 
                WriteInteger('NoChangeStartMenu',1); //开始菜单
                WriteInteger('NoClose',1); // 关闭系统菜单
                WriteInteger('NoLogOff',1);//注销菜单
                WriteInteger('NoRun',1);//运行菜单
                WriteInteger('NoSetFolders',1);//设置菜单
              end;
            True:
              begin 
                WriteInteger('NoChangeStartMenu',0); 
                WriteInteger('NoClose',0); 
                WriteInteger('NoLogOff',0);
                WriteInteger('NoRun',0);
              end;
          end; 
        end; 
        CloseKey; 
      finally 
        Free; 
      end;
    end; procedure TForm1.Button1Click(Sender: TObject);
    begin
       EnableCTRLALTDEL(true);//屏闭
       SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, NiL, NiL); //刷新系统
    end;procedure TForm1.Button2Click(Sender: TObject);
    begin
       EnableCTRLALTDEL(false);//解除屏闭
       SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, NiL, NiL); 
    end;end.
      

  2.   

    if 
    (((p.vkCode=VK_CONTROL) and (P.vkCode = LLKHF_ALTDOWN and p.flags) and (p.vkCode>=65) or (p.vkCode<=90) ))
      

  3.   


    这个不行啊  把所有的按键 都屏蔽了
    S按键
    115 和 83我是想屏蔽ctrl+alt+a到 ctrl+alt+z你这是把键盘都屏蔽了
      

  4.   

    if (((p.vkCode=VK_CONTROL) and (P.vkCode = LLKHF_ALTDOWN and p.flags) and ((p.vkCode>=65) or (p.vkCode<=90)) )
      

  5.   

    if  ( (p.vkCode=VK_CONTROL)   and (P.vkCode = LLKHF_ALTDOWN and p.flags) and 
    (      ( p.vkCode>=65) or (p.vkCode<=90)       )
    )