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 Env.-Variable un. Vista setzen für Batchscript klappt nicht (https://www.delphipraxis.net/134543-env-variable-un-vista-setzen-fuer-batchscript-klappt-nicht.html)

jaenicke 24. Mai 2009 17:15

Re: Env.-Variable un. Vista setzen für Batchscript klappt ni
 
Wie gesagt, theoretisch ginge es über die systemweite Umgebungsvariablen, aber die Frage ist eben wofür das ganze, also ist es dafür sinnvoll...
Dafür braucht man natürlich auch Adminrechte.

turboPASCAL 24. Mai 2009 18:27

Re: Env.-Variable un. Vista setzen für Batchscript klappt ni
 
Naja, war nur ein Gedanke. Leider klappt das nicht so unkompliziert, sprich einfach wie ich es gern hätte.
Interresant ist's schon.

jaenicke 24. Mai 2009 18:54

Re: Env.-Variable un. Vista setzen für Batchscript klappt ni
 
Zitat:

Zitat von turboPASCAL
Leider klappt das nicht so unkompliziert, sprich einfach wie ich es gern hätte.

Systemweite Umgebungsvariablen meinst du? Das ist recht einfach, aber nicht so praktisch.
http://www.delphi-library.de/viewtopic.php?t=18588

Meistens kommt man um solche Sachen aber auch verhältnismäßig einfach herum.

turboPASCAL 24. Mai 2009 19:23

Re: Env.-Variable un. Vista setzen für Batchscript klappt ni
 
Nein eigentlich lokale. ;)

Christian Seehase 24. Mai 2009 21:38

Re: Env.-Variable un. Vista setzen für Batchscript klappt ni
 
Moin Matti,

mit genau diesem Problem bin ich zu Foren gekommen :mrgreen:

Laut MS ist es nicht möglich.
Als Workaround wurde empfohlen eine Batchdatei mit entsprechender Set-Zeile zu erzeugen.
Diese sollte dann mit CALL in der urprünglichen Batchdatei nach dem eigenen Programm aufgerufen werden, um für die Konsole die Variable zu setzen.
(Also so, wie es hier auch schon beschrieben wurde).

Da ich das "geht nicht" nicht so ganz akzeptieren wollte, habe ich mir mal eine Möglichkeit überlegt.
Hier habe ich mal einen Beispielsourcecode geposted.

Zumindest bis XP funktioniert das Ganze sogar ohne Admin-Rechte.
Der Haken: Unter Vista habe ich es noch nicht zum Laufen bekommen :?


Zitat:

Zitat von himitsu
gab's schonmal ein/zwei Themen dazu, wo s darum geht die Umgebungsvariablen von anderen (laufenden) Prozessen zu ändern.


Fazit: es ist praktisch unmöglich

Grund: den Environmentblock kann man zwar ändern, aber viele Programme lesen diesen Block nur beim Programmstart aus und arbeiten dann nur noch mit privaten lokalen Kopieen, an welche du praktisch nicht rankommst.

I.d.R. bekommt ein Prozess zu Beginn eine Kopie das Environment-Blocks das aufrufenden Prozesses, und liest die Umgebungsvariablen aus diesem aus, bzw. ändert sie auch dort.
Wenn man natürlich die Umgebungsvariablen nur einmalig ausliest, und dann intern speichert geht das nicht.
Bei Mattis Problem spielt das aber keine Rolle, da die Konsole das ja nicht macht.

turboPASCAL 24. Mai 2009 22:15

Re: Env.-Variable un. Vista setzen für Batchscript klappt ni
 
Danke, werde ich mir morgen mal zu Gemüte führen.

Auf dem selben Weg war ich auch gerade nach dem ich Post #10 gesehen habe, war aber noch weit vom Erfolg weg... ;)


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

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