Systemvariable setzen in WinXP SP3

04/03/2009 - 13:29 von Steven Weißenfels | Report spam
Hallo Leute,

also ich habe folgendes Problem. Ich würde gerne mehrere Systemvariable
setzen bzw àndern. Unter diesen Systemvariablen ist ebenfals die
'Path'-Variable. Ich möchte diese Setzungen im laufenden Betrieb àndern und
nicht dem Umweg über Rechner Neustart.

Nun habe ich eine Lösung mit der Pathman.exe von MS angestrebt, was aber
leider nicht so funktioniert wie ich mir das gedacht habe.

Dann bin ich hier http://msdn.microsoft.com/de-de/lib...79383.aspx
gelandet. Das hört sich schonmal vielversprechend an. Besonders spannend
wirds hier:

Allein durch einen Eintrag in der Registry würden diese Umgebungsvariablen
erst nach einem Windows-Neustart ausgelesen und gesetzt werden.
Um zu erreichen, dass nach dieser Änderung gestartete Anwendungen dennoch
die neuen Variablen berücksichtigen, wird die Nachricht WM_SETTINGCHANGE
mithilfe der Funktion SendMessageTimeout an alle Hauptfenster auf dem Desktop
gesendet.
Als symbolisches Fensterhandle aller Empfànger wird dafür HWND_BROADCAST
eingesetzt.
Auf bereits gestartete Anwendungen hat die Änderung jedoch keine Einwirkung.

Nun stellt sich mir hier die Frage, was diese Aussage genau bedeutet:
Es sollen damit die Änderungen an alle Hauptfenster gesendet werden, damit
diese die Änderungen mitbekommen. Gleichzeitig steht aber dort auch, das
bereits gestartete Anwendungen diese Änderungen nicht mitbekommen. Sind nicht
Fenster oder Hauptfenster bereits gestartete Anwendungen?

Was verstehe ich hier falsch?
Liebe Grüße
Steven Weißenfels
 

Lesen sie die antworten

#1 Peter Fleischer
06/03/2009 - 09:41 | Warnen spam
"Steven Weißenfels" schrieb im
Newsbeitrag news:
...
Nun stellt sich mir hier die Frage, was diese Aussage genau bedeutet:
Es sollen damit die Änderungen an alle Hauptfenster gesendet werden, damit
diese die Änderungen mitbekommen. Gleichzeitig steht aber dort auch, das
bereits gestartete Anwendungen diese Änderungen nicht mitbekommen. Sind
nicht
Fenster oder Hauptfenster bereits gestartete Anwendungen?

Was verstehe ich hier falsch?



Hi Steven,
so wie ich das verstanden habe, bedeutet das Senden von WM_SETTINGCHANGE
nicht automatisch das Neuladen der Umgebungsvariablen, sondern nur die
Information darüber, dass geàndert wurde. Wenn das empfangende Fenster die
Nachricht nicht auswertet, passiert auch nichts.

Viele Grüsse
Peter

Ähnliche fragen