Entwickler-Ecke

Dateizugriff - TRegistry, vorhandenen Wert von 1 auf 0 abändern


origin - Di 24.11.09 12:15
Titel: TRegistry, vorhandenen Wert von 1 auf 0 abändern
Hallo Leute,
ich stehe vor dem Problem, dass ich einen Eintrag in der TRegistry gerne abändern möchte. Nämlich das Ausschalten des CDROM Autostarts. Wie muss ich das schreiben, dass der Key lediglich den Wert '0' erhält?

Ferner möchte ich auch die Standard-Laufwerksfreigaben ( admin$, c$, etc.) entfernen. Vielleicht weiss hier jemand, welche Einträge hier in der Registry vorzunehmen sind und kann mir dies posten.

So hatte es nämlich nicht geklappt...: Der Eintrag wurde zwar hinzugefügt, die Freigaben sind jedoch noch immer present. Leider.

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
var regist:TRegistry;
begin
regist:=TRegistry.Create;
regist.RootKey:=HKEY_LOCAL_MACHINE;
regist.OpenKey('System\CurrentControlSet\Services\LanmanServer\Parameters',true);
regist.WriteInteger('AutoShareServer',0);
regist.CloseKey;

Bin dankbar für eure Hilfe.

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt
Moderiert von user profile iconNarses: Überflüssige Zeilenumbrüche/Leerzeilen entfernt.
Moderiert von user profile iconNarses: Topic aus Sonstiges (Delphi) verschoben am Di 24.11.2009 um 11:44


Andreas L. - Di 24.11.09 13:11

user profile iconorigin hat folgendes geschrieben Zum zitierten Posting springen:
Wie muss ich das schreiben, dass der Key lediglich den Wert '0' erhält?

Du willst den Standard-Wert eines Schlüssels ändern? Das geht so:

Delphi-Quelltext
1:
WriteInteger(''0);                    


user profile iconorigin hat folgendes geschrieben Zum zitierten Posting springen:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
var regist:TRegistry;
begin
regist:=TRegistry.Create;
regist.RootKey:=HKEY_LOCAL_MACHINE;
regist.OpenKey('System\CurrentControlSet\Services\LanmanServer\Parameters',true);
regist.WriteInteger('AutoShareServer',0);
regist.CloseKey;


In deinem Code fehlen ja sämtliche Ressourcenschutzblöcke und Fehlerbehandlungsroutinen.

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
var
  regist: TRegistry;
begin
  regist := TRegistry.Create;
  try
    regist.RootKey := ...
    if Regist.OpenKey('...', True) then
    begin
      Regist.WriteInteger('...'0);
      Regist.CloseKey;
    end;
  finally
    regist.free;
  end;
end;


origin - Di 24.11.09 18:35

Hallo Andreas,
danke für deine Codezeilen und Mühen.
In meinem Delphi7-Buch fehlen viele, wichtige Informationen.
Deshalb bin ich dankbar für deinen Hinweis.

Ich werde gleich deinen Code ausprobieren und melde mich auf jeden Fall hierzu wieder.

Grüße