winbootdir

Von: , Frage gestellt am Mo, 20. Sep 1999

Wie kann ich die Umgebungsvariable
winbootdir ändern. Mit dem Dos-Befehl
set geht es nicht, weil der nur
Umgebungsvariablen in Großbuchstaben
erzeugt. Es muß doch irgendeine Möglichkeit
geben, diesen Trick von Windows zu umgehen
(oder soll es garkeine Schutzvorrichtung sein????)
Wenn jemand eine Möglichkeit kennt,
mit Visual Basic dieses Problem zu lösen,
wer es toll, wenn er mir sie verraten
könnte :-)

--Jan Vornberger

4 Antworten zu dieser Frage

  1. Antwort von nach 3 Stunden hilfreich
    Re: winbootdir

    kannst du das File in deinem Programm nicht einfach laden, in eine StringList oder sowas und es dann bearbeiten ? [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

  2. Antwort von nach 16 Stunden hilfreich
    Re: winbootdir

    Eigentlich sollte Gross-/Kleinschrift bei Umgebungsvariablen keinen Unterschied machen (der API-Call GetEnvironmentVariable unterscheidet nicht zwischen Gross- und Kleinbuchstaben). Unter WinNT kann ich allerdings auch Umgebungsvariablen mit Kleinbuchstaben anlegen - "einfaches" Windows hab' ich nicht mehr zum Vergleich...

    In VB kannst Du die Umgebungsvariablen mit folgenden API-Aufrufen setzen bzw. auslesen:

    Declare Function SetEnvironmentVariable Lib "kernel32" Alias "SetEnvironmentVariableA" (ByVal lpName As String, ByVal lpValue As String) As Long
    Declare Function GetEnvironmentVariable Lib "kernel32" Alias "GetEnvironmentVariableA" (ByVal lpName As String, ByVal lpBuffer As String, ByVal nSize As Long) As Long
    Public Function GetEnv(strEnv As String) As String
    Dim Buf As String, Lg As Long
    Buf = String(255, 0)
    Lg = GetEnvironmentVariable(strEnv, Buf, Len(Buf))
    GetEnv = Mid(Buf, 1, Lg)
    End Function
    Public Function SetEnv(strEnv As String, strVal As String) As Long
    SetEnv = SetEnvironmentVariable(strEnv, strVal)
    End Function

    Reinhard [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

    • Antwort von nach einem Tag hilfreich
      Re^2: winbootdir

      Das habe ich leider auch schon ausprobiert,
      weil ich selber kein absoluter Anfänger
      im Programmieren bin. Leider kommt folgende
      Fehlermeldung: File nicht gefunden!
      Dabei hat er dann aber nicht die Zeile
      markiert, wo der API-Call defeniert wird,
      sondern dort wo er aufgerufen wird.

      Kennt jemand die Ursache des Fehlers?

      --Jan Vornberger

      • Antwort von nach einem Tag hilfreich
        Re^3: winbootdir

        Die Kernel32.DLL solltest Du eigentlich immer haben - zumindest unter Windows 95 ... bzw. Windows NT - oder über welches Betriebssystem reden wir?

        Reinhard

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!