Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#15

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

  Alt 24. Mai 2009, 21:38
Moin Matti,

mit genau diesem Problem bin ich zu Foren gekommen

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 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.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat