...Ctrl+Alt+DEL verhindern?

Autor: Simon Grossenbacher
Homepage: http://www.swissdelphicenter.ch

Kategorie: System

const
  SPI_SCREENSAVERRUNNING = 97;
var
  OldValue: Longbool;
  {on}
  SystemParametersInfo(SPI_SCREENSAVERRUNNING, Word(True), @OldValue, 0);
  {off}
  SystemParametersInfo(SPI_SCREENSAVERRUNNING, Word(False), @OldValue, 0);
{
  Note: Runs only on Windows 95/98
  Bemerkung: Läuft nur unter Windows 95/98
}


{********************************************************}


{ Disable the TaskManager on Win NT systems (2000/XP) : }
{ (C) by Delphi.About }

uses
  
Registry;

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);
          end;
        True:
          begin
            
WriteInteger('DisableTaskMgr',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);
          end;
        True:
          begin
            
WriteInteger('NoChangeStartMenu',0);
            WriteInteger('NoClose',0);
            WriteInteger('NoLogOff',0);
          end;
      end;
    end;
    CloseKey;
  finally
    
Free;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
    
EnableCTRLALTDEL(true);
end;

 

printed from
www.swissdelphicenter.ch
developers knowledge base