[C#] EnvironmentVariables

Dieses Thema im Forum "Projekte / Codes" wurde erstellt von cable, 4. Oktober 2010 .

  1. 4. Oktober 2010
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    EnvironmentVariables

    Hi!

    Viele, die schon programmiert oder sich ein wenig mehr mit Windows beschäftigt haben, mussten sicher schon die Umgebungsvariablen von Windows anpassen. (Häufig PATH).
    Um das zu erleichtern habe ich ein Minitool geschrieben, mit dem man diese Variablen sehr einfach setzen, verändern, abfragen oder löschen kann.

    Ich biete euch hier den Sourcecode und (ausnahmsweise) auch die Binaries. Arbeitszeit betrug lediglich eine Stunde.

    Screenshots:
    Bild

    IDE: Visual C# 2010 (.Net Framework 4.0)

    Source + Binaries:
    No File | www.xup.in

    Variable abfragen und Wert(e) in ListView einfügen:
    Code:
    if (!tBName.Text.Equals(String.Empty))
    {
     String content;
     if (lVValues.Items.Count == 0)
     content = "";
     else if (lVValues.Items.Count == 1)
     content = lVValues.Items[0].Text;
     else
     {
     StringBuilder strBuilder = new StringBuilder();
     foreach (ListViewItem lVI in lVValues.Items)
     {
     strBuilder.Append(lVI.Text + ";");
     }
     //delete the last semicolon
     strBuilder.Length = strBuilder.Length - 1;
     content = strBuilder.ToString();
     }
     try
     {
     Environment.SetEnvironmentVariable(tBName.Text, content, EnvironmentVariableTarget.Machine);
     }
     catch (SecurityException)
     {
     MessageBox.Show("You don't have the permissions to get the variable value(s)!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
     catch (Exception exc)
     {
     MessageBox.Show("An unexpected error ocurred:\n" + exc.Message, "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
     }
    }
    Variable speichern:
    Code:
    if (!tBName.Text.Equals(String.Empty))
    {
     String content;
     if (lVValues.Items.Count == 0)
     content = "";
     else if (lVValues.Items.Count == 1)
     content = lVValues.Items[0].Text;
     else
     {
     StringBuilder strBuilder = new StringBuilder();
     foreach (ListViewItem lVI in lVValues.Items)
     {
     strBuilder.Append(lVI.Text + ";");
     }
     //delete the last semicolon
     strBuilder.Length = strBuilder.Length - 1;
     content = strBuilder.ToString();
     }
     try
     {
     Environment.SetEnvironmentVariable(tBName.Text, content, EnvironmentVariableTarget.Machine);
     }
     catch (SecurityException)
     {
     MessageBox.Show("You don't have the permissions to get the variable value(s)!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
     catch (Exception exc)
     {
     MessageBox.Show("An unexpected error ocurred:\n" + exc.Message, "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
     }
    }
    Das Projekt dient hauptsächlich Lernzwecken und evtl um sich ein wenig Arbeit abzunehmen. Ich habe vorhin geschaut, dass es bereits ähnliche Tools gibt, aber dieses hier hat die wichtigsten Funktionen vereint.

    greez
     
  2. 4. Oktober 2010
    AW: EnvironmentVariables

    code ausschnitt vom "kern der aufgabe" fehlt... bitte direkt in den post einfügen.
     
  3. 4. Oktober 2010
    AW: EnvironmentVariables

    Das Auslesen und Speichern mal explizit hervorgehoben. Was eventuell auch noch interessant ist, ist das Vorgehen, dass ich eine Form benutze und 3 verschiedene Dinge damit erzeugen kann (File, Folder und Text). Da das aber zu umfangreich ist, habe ich den Teil mal rausgelassen.

    greez
     
  4. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.