Ctrl和Alt键中间的windows功能键如何屏蔽

解决方案 »

  1.   

    呵呵,您这个问题,,在delphibbs中,,许多高手级的朋友一同讨论过,,但没有一个实质的结果,,,也许这里有,,,看看,作个记号
      

  2.   

    CTRL_ALT_DEL都能锁,难道这个不能?
      

  3.   

    试一下这个
    var
      i:integer;
    屏蔽时用:
    systemparametersinfo(spi_screensaverrunning,1,@i,0);
    退出时用
    systemparametersinfo(spi_screensaverrunning,0,@i,0);解除屏蔽
      

  4.   

    试试 :function LowLevelKeyboardProc(nCode:integer;WParam:WPARAM;LParam:LPARAM):LRESULT;stdcall;
    type
    KBDLLHOOKSTRUCT=record
        vkCode:DWORD;
        scanCode:DWORD;
        flags:DWORD;
        time:DWord;
        dwExtraInfo:dword;
    end;
    var
       fFlag:BOOL;
       p:^KBDLLHOOKSTRUCT;
    begin
       result:=0;
       fFlag := false;
       p:=Pointer(LPARAM);
       if (ncode=HC_ACTION) then
       begin
       case wparam of
        WM_KEYDOWN,
        WM_SYSKEYDOWN,
        WM_KEYUP,
        WM_SYSKEYUP:
        fFlag :=(p.vkCode = VK_Lwin) or (p.vkCode = VK_Rwin)or (p.vkCode = VK_apps);
        end;
        end;
        if fFlag = true then
           Result:=1;
        if ncode <> 0 then
           Result := CallNextHookEX(0,ncode,wparam,lparam);
    end;
    调用:procedure TForm1.Button1Click(Sender: TObject);
    const
        WH_KEYBOARD_LL=13;
    begin
      setwindowshookexw(WH_KEYBOARD_LL,LowlevelKeyboardproc,hinstance,0);
    end;
      

  5.   

    设置敏感健:resgisterHotKey(handle,GlobalAddAtom(Pchar(UserDefineHotKey))-$C000,
                   MOD_win ,//要不就是MOD_Windows,记不清了
                   nil);消息响应函数:procedure WMhotKeyhandel(var msg:Tmessage);message Wm_HotKey;begin  if msg.lpararmLo=Mod_win then
       .....end;释放敏感健:
     unregisterhotkey(handle,GlobalAddAtom(Pchar(UserDefineHotKey))-$C000);
     deleteAtom(GlobalAddAtom(Pchar(UserDefineHotKey))-$C000);
      

  6.   

    又问:wjlsmail
    我想把他作成winnt服务程序可是不行为什么?