Autor Beitrag
Killi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 299

Win*
D6 Prof
BeitragVerfasst: Fr 20.06.03 09:12 
Hi!

Bei SwissDelphiCenter hab ich diesen Code gefunden - und er ist für NT-Systeme,d.h. müsste bei mir unter Win2000 tun:
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
{ 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;

tut er aber nicht - auch nicht wenn ich EnableCTRLALTDEL(False); aufrufe - das mache ich unter FormShow...anscheinend tuts, die kommentare waren ok - es muss helfen...aber wieso bei mir nicht?

Moderiert von user profile iconTino: Code- durch Delphi-Tags ersetzt.
Tino
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Veteran
Beiträge: 9839
Erhaltene Danke: 45

Windows 8.1
Delphi XE4
BeitragVerfasst: Fr 20.06.03 11:04 
Man könnte den Code auch ein wenig kürzen... (ändert aber nichts an der Logik des Codes):
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
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
        WriteInteger ('DisableTaskMgr', not YesNo);
        CloseKey; 
      end;

    if OpenKey (sRegPolicies+'\Explorer\', True) then 
      begin 
        WriteInteger('NoChangeStartMenu', not YesNo); 
        WriteInteger('NoClose', not YesNo); 
        WriteInteger('NoLogOff', not YesNo); 
        CloseKey; 
      end;
  finally 
    Free; 
  end; 
end;
mars
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 238

Debian Woody, Win 2000, Win XP
D7 Ent, Kylix 3
BeitragVerfasst: Fr 20.06.03 11:18 
IMHO ist dieser Codeausschnitt auch nur für XP-Systeme gültig.
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 20.06.03 13:09 
Und die Prozedur heißt auch falsch. Strg+Alt+Entf geht nämlich immer noch. Nur wird unter 2000/XP der Button für den Taskmanager deaktiviert.