AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Delphi-PRAXiS - Lounge Betriebssysteme Umgebungsvariablen langfristig setzen
Thema durchsuchen
Ansicht
Themen-Optionen

Umgebungsvariablen langfristig setzen

Ein Thema von geisi · begonnen am 30. Mär 2007 · letzter Beitrag vom 11. Apr 2007
Antwort Antwort
Christian Seehase
(Co-Admin)

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

Re: Umgebungsvariablen langfristig setzen

  Alt 10. Apr 2007, 19:00
Moin Olli,

Zitat:
Geht ja auch ohne Konsole, dann eben programmatisch.
ich wollte auf etwas anderes raus.
Durch eben dieses Problem bin ich zu Foren gekommen

Wenn ich, um Zuge einer Batchverarbeitung, eine Umgebungsvariable so setzen will, dass sie nach meinem Programm zur Verfügung steht, sieht MS vor, dass man eine Batchdatei mit dem entsprechenden Set-Kommando erstellt, die dann nach dem Programm aufgerufen werden soll.
Das ist natürlich eine gangbare Lösung, aber irgendwie schwebte mir eine andere Lösung vor.
Grober Ablauf (vorausgesetzt, das Environment passt in 4Kb, auch nach dem Setzen einer Umgebungsvariablen)
Man ermittelt den Parent Prozess.
Man ermittelt die Adresse des Environmentblockes (GetEnvrionmentStringsW) (*)
Man setzt die Umgebungsvariable, ganz normal mit SetEnvironmentVariable
Man kopiert den eigenen Environmentblock in den des Parent-Prozesses.

Unter XP-Pro SP 2 hat das, auch mit normalen Benutzerrechten (!), funktioniert.

(*)
Leider hat die Sache hier einen unschönen Haken:
Bei allen Versuchen, die ich gemacht hatte lag das Environment immer an der gleichen Adresse, unabhängig davon, welchen Prozess ich mir angeschaut habe. Leider ist das aber nicht zwingend erforderlich , so dass man an dieser Stelle scheitern kann.
Bevor man versucht dort etwas reinzuschreiben, sollte man also genau prüfen, das der angesprochene Speicherbereich auch wirklich das Environment enthält.

Die Begrenzung auf 4Kb ergibt sich dadurch, dass sich bei überschreiten der Grenze die Startadresse verschieben kann.
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
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:54 Uhr.
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