Entwickler-Ecke

Dateizugriff - hat TRegistry nur begrenzte rechte?


Experience1986 - Do 28.08.03 13:09
Titel: hat TRegistry nur begrenzte rechte?
Hi,

Ich wollte mir gerade ein kleines Programm zaubern welches mir Werte in der Registry ändern soll, diese haben einfluss auf das Speicher Management von Windows (XP)

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SessionManager\Memory Management

Ich wollte hier einen Integer Wert ändern (DisablePagingExecutive) welcher für das auslagern oder auch nicht auslagern der Windows Kernel, bei Speicherauslastung, zuständig ist, doch die änderungen werden nicht gemacht.

Ich bin als Administrator angemeldet und das Programm geht auch, denn wenn ich den Pfad ändere dann geht es nur nicht in dem obigen pfad, es muss aber gehen denn Programme wie XP AntiSpy machen hier auch änderungen wie zum Beispiel das löschen der Auslagerungsdatei beim Herunterfahren.


Meine Frage ist nur wie man das hier machen kann und ist einem dieses Problem bekannt, wenn es denn eines ist *G*

Meine Integer Funktion:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
procedure MyRegInt(vRegbaum:Cardinal;vPfad,vName:string;vWert:Integer);
var
  Reg: TRegistry;
begin
  Reg := TRegistry.Create;
  try
    Reg.RootKey := vRegBaum;
    if Reg.OpenKey(vPfad, True) then
    begin
      Reg.WriteInteger(vName,vWert);
      Reg.CloseKey;
    end;
  finally
    Reg.Free;
  end;
end;


Diese Rufe ich dann so auf:

Delphi-Quelltext
1:
MyRegInt(Hkey_Local_Machine,'System\CurrentControlSet\Control\SessionManager\Memory Management','DisablePagingExecutive',1);                    


Vielen Dank schonmal im Voraus.


Terra23 - Do 28.08.03 13:16

Ich bin mir nicht sicher, ob das dafür verantwortlich ist, aber achte mal auf die Groß- und Kleinschreibung.

Es muss:

HKEY_LOCAL_MACHINE

heißen und nicht

Hkey_Local_Machine

:-)


Tino - Do 28.08.03 13:41

Hallo!

HKEY_LOCAL_MACHINE ist eine Konstante. Da ist die Groß-/Kleinschreibung egal

Gruß
Tino


Experience1986 - Do 28.08.03 13:53

Aha, jetzt geht es.

Aber warum wird das nict bei HKEY_CURRENT_USER unterschieden, denn da geht es auch wenn ich klein schreibe.


Terra23 - Do 28.08.03 13:56

... kann ich dir nicht sagen, aber wenn Tino sagt, es ist eine Konstante, dann verstehe ich weder das eine noch das andere. :-( Am Besten fragst du Tino da mal..


Experience1986 - Do 28.08.03 14:06

Naja is ja auch egal, haupsache es geht


Akut-Programming - Do 28.08.03 15:16

:mahn: Egal sollte es dir nicht sein! Es ist immer besser, wenn man weiß, wie das ein oder andere im Programm zustande kommt. Ansonsten stehste irgendwann mal widder da un weest es nich mehr weil de das Prog oder die Sources dazu nich mehr hast. :autsch: Setz dich mit deinem Programm auseinander, auch wenn du Sources für versch. Funktionen schon fertig im I-Net findest und dir sagst "...ach wenns geht, dann is ok --> Compilieren...". :hair:
So ansonsten wünsch ich dir viel Spass beim Delphi proggn. :wink2: