Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Umgebungsvariablen dauerhaft setzen (https://www.delphipraxis.net/85135-umgebungsvariablen-dauerhaft-setzen.html)

arbu man 26. Jan 2007 20:36

Re: Umgebungsvariablen dauerhaft setzen
 
Das würd ich ja gerne, nur:

Delphi-Quellcode:
const
  S_ENVIRONMENT = 'HKEY_LOCAL_MACHINE\SYSTEM\'+
                  'CurrentControlSet\Control\Session Manager\Environment\';

procedure AddExecutePath(aPath: string);
var
  Reg: TRegistry;
  Path: string;
  Size: integer;
  SS: TStringStream;
begin
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_LOCAL_MACHINE;
    Reg.OpenKey(S_ENVIRONMENT, true);
    Path := Reg.ReadString('Path');
    writeln('Path: '+Path); // Path ist ''
    Path := Path + aPath + ';';
    Reg.WriteString('Path', Path); // Exception: Fehler beim setzen der Daten
    Reg.CloseKey;
  finally
    //FreeAndNil(Reg);
  end;
end;
Kann ich Path nicht weder lesen noch schreiben.

Chewie 26. Jan 2007 20:38

Re: Umgebungsvariablen dauerhaft setzen
 
Du brauchst Administratorrechte, um in HKEY_LOCAL_MACHINE was zu ändern.

Versuch das gleiche mal in HKEY_CURRENT_USER. Eventuell befinden sich die Variablen da aber an einer anderen Stelle, das weiß ich nicht.

marabu 26. Jan 2007 20:42

Re: Umgebungsvariablen dauerhaft setzen
 
Hallo Björn,

unter Windows arbeitet man eigentlich nicht mehr mit der PATH-Variable im global environment. Trage dein Programm in der Registry unter
Code:
 
[HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\App Paths\\myapp.exe]
@="C:\\Programme\\Delphi-PRAXiS\\arbu man\\myapp.exe"
Path="C:\\Programme\\Delphi-PRAXiS\\arbu man\\System;C:\\Windows\\System32"
ein. Den Standardwert des Schlüssels setzt du auf den vollen Pfadnamen deiner Anwendung. Verwendet deine Anwendung DLLs, dann trägst du deren Speicherort(e) getrennt durch Semikolon in den Wert "Path" ein. Ohne Admin-Rechte kannst du das analog im Hive HKEY_CURRENT_USER machen.

Gute Nacht

arbu man 26. Jan 2007 21:12

Re: Umgebungsvariablen dauerhaft setzen
 
Danke, marabu jetzt kann ich die Programme wenigstens durch Ausführen starten :)

mfg, Björn


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:52 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz