Environment Klasse

Definition

Stellt Informationen zu und Mittel zum Bearbeiten der aktuellen Umgebung und Plattform bereit. Diese Klasse kann nicht vererbt werden.

public ref class Environment abstract sealed
public ref class Environment sealed
public static class Environment
public sealed class Environment
[System.Runtime.InteropServices.ComVisible(true)]
public static class Environment
type Environment = class
[<System.Runtime.InteropServices.ComVisible(true)>]
type Environment = class
Public Class Environment
Public NotInheritable Class Environment
Vererbung
Environment
Attribute

Beispiele

Im folgenden Beispiel wird eine Liste mit Informationen zur aktuellen Umgebung angezeigt.

// Sample for Environment class summary
using System;
using System.Collections;

class Sample
{
    public static void Main()
    {
        string str;
        string nl = Environment.NewLine;
        //
        Console.WriteLine();
        Console.WriteLine("-- Environment members --");

        //  Invoke this sample with an arbitrary set of command line arguments.
        Console.WriteLine("CommandLine: {0}", Environment.CommandLine);

        string[] arguments = Environment.GetCommandLineArgs();
        Console.WriteLine("GetCommandLineArgs: {0}", String.Join(", ", arguments));

        //  <-- Keep this information secure! -->
        Console.WriteLine("CurrentDirectory: {0}", Environment.CurrentDirectory);

        Console.WriteLine("ExitCode: {0}", Environment.ExitCode);

        Console.WriteLine("HasShutdownStarted: {0}", Environment.HasShutdownStarted);

        //  <-- Keep this information secure! -->
        Console.WriteLine("MachineName: {0}", Environment.MachineName);

        Console.WriteLine("NewLine: {0}  first line{0}  second line{0}  third line",
                              Environment.NewLine);

        Console.WriteLine("OSVersion: {0}", Environment.OSVersion.ToString());

        Console.WriteLine("StackTrace: '{0}'", Environment.StackTrace);

        //  <-- Keep this information secure! -->
        Console.WriteLine("SystemDirectory: {0}", Environment.SystemDirectory);

        Console.WriteLine("TickCount: {0}", Environment.TickCount);

        //  <-- Keep this information secure! -->
        Console.WriteLine("UserDomainName: {0}", Environment.UserDomainName);

        Console.WriteLine("UserInteractive: {0}", Environment.UserInteractive);

        //  <-- Keep this information secure! -->
        Console.WriteLine("UserName: {0}", Environment.UserName);

        Console.WriteLine("Version: {0}", Environment.Version.ToString());

        Console.WriteLine("WorkingSet: {0}", Environment.WorkingSet);

        //  No example for Exit(exitCode) because doing so would terminate this example.

        //  <-- Keep this information secure! -->
        string query = "My system drive is %SystemDrive% and my system root is %SystemRoot%";
        str = Environment.ExpandEnvironmentVariables(query);
        Console.WriteLine("ExpandEnvironmentVariables: {0}  {1}", nl, str);

        Console.WriteLine("GetEnvironmentVariable: {0}  My temporary directory is {1}.", nl,
                               Environment.GetEnvironmentVariable("TEMP"));

        Console.WriteLine("GetEnvironmentVariables: ");
        IDictionary environmentVariables = Environment.GetEnvironmentVariables();
        foreach (DictionaryEntry de in environmentVariables)
        {
            Console.WriteLine("  {0} = {1}", de.Key, de.Value);
        }

        Console.WriteLine("GetFolderPath: {0}",
                     Environment.GetFolderPath(Environment.SpecialFolder.System));

        string[] drives = Environment.GetLogicalDrives();
        Console.WriteLine("GetLogicalDrives: {0}", String.Join(", ", drives));
    }
}
/*
This example produces results similar to the following:
(Any result that is lengthy or reveals information that should remain
secure has been omitted and marked "!---OMITTED---!".)

C:\>env0 ARBITRARY TEXT

-- Environment members --
CommandLine: env0 ARBITRARY TEXT
GetCommandLineArgs: env0, ARBITRARY, TEXT
CurrentDirectory: C:\Documents and Settings\!---OMITTED---!
ExitCode: 0
HasShutdownStarted: False
MachineName: !---OMITTED---!
NewLine:
  first line
  second line
  third line
OSVersion: Microsoft Windows NT 5.1.2600.0
StackTrace: '   at System.Environment.GetStackTrace(Exception e)
   at System.Environment.GetStackTrace(Exception e)
   at System.Environment.get_StackTrace()
   at Sample.Main()'
SystemDirectory: C:\WINNT\System32
TickCount: 17995355
UserDomainName: !---OMITTED---!
UserInteractive: True
UserName: !---OMITTED---!
Version: !---OMITTED---!
WorkingSet: 5038080
ExpandEnvironmentVariables:
  My system drive is C: and my system root is C:\WINNT
GetEnvironmentVariable:
  My temporary directory is C:\DOCUME~1\!---OMITTED---!\LOCALS~1\Temp.
GetEnvironmentVariables:
  !---OMITTED---!
GetFolderPath: C:\WINNT\System32
GetLogicalDrives: A:\, C:\, D:\

*/
// Sample for Environment class summary
open System
open System.Collections

let nl = Environment.NewLine

printfn ""
printfn "-- Environment members --"

//  Invoke this sample with an arbitrary set of command line arguments.
printfn $"CommandLine: {Environment.CommandLine}"

Environment.GetCommandLineArgs()
|> String.concat ", "
|> printfn "GetCommandLineArgs: %s"

//  <-- Keep this information secure! -->
printfn $"CurrentDirectory: {Environment.CurrentDirectory}"

printfn $"ExitCode: {Environment.ExitCode}"

printfn $"HasShutdownStarted: {Environment.HasShutdownStarted}"

//  <-- Keep this information secure! -->
printfn $"MachineName: {Environment.MachineName}"

printfn $"NewLine: {nl}  first line{nl}  second line{nl}  third line"

printfn $"OSVersion: {Environment.OSVersion}"

printfn $"StackTrace: '{Environment.StackTrace}'"

//  <-- Keep this information secure! -->
printfn $"SystemDirectory: {Environment.SystemDirectory}"

printfn $"TickCount: {Environment.TickCount}"

//  <-- Keep this information secure! -->
printfn $"UserDomainName: {Environment.UserDomainName}"

printfn $"UserInteractive: {Environment.UserInteractive}"

//  <-- Keep this information secure! -->
printfn $"UserName: {Environment.UserName}"

printfn $"Version: {Environment.Version}"

printfn $"WorkingSet: {Environment.WorkingSet}"

//  No example for Exit(exitCode) because doing so would terminate this example.

//  <-- Keep this information secure! -->
let query = "My system drive is %SystemDrive% and my system root is %SystemRoot%"
let str = Environment.ExpandEnvironmentVariables query
printfn $"ExpandEnvironmentVariables: {nl}  {str}"

printfn $"""GetEnvironmentVariable: {nl}  My temporary directory is {Environment.GetEnvironmentVariable "TEMP"}."""

printfn "GetEnvironmentVariables: "
let environmentVariables = Environment.GetEnvironmentVariables()
for de in environmentVariables do
    let de = de :?> DictionaryEntry
    printfn $"  {de.Key} = {de.Value}"

printfn $"GetFolderPath: {Environment.GetFolderPath Environment.SpecialFolder.System}"

Environment.GetLogicalDrives()
|> String.concat ", "
|> printfn "GetLogicalDrives: %s"

// This example produces results similar to the following:
//     (Any result that is lengthy or reveals information that should remain
//     secure has been omitted and marked "!---OMITTED---!".)
//     
//     C:\>env0 ARBITRARY TEXT
//     
//     -- Environment members --
//     CommandLine: env0 ARBITRARY TEXT
//     GetCommandLineArgs: env0, ARBITRARY, TEXT
//     CurrentDirectory: C:\Documents and Settings\!---OMITTED---!
//     ExitCode: 0
//     HasShutdownStarted: False
//     MachineName: !---OMITTED---!
//     NewLine:
//       first line
//       second line
//       third line
//     OSVersion: Microsoft Windows NT 5.1.2600.0
//     StackTrace: '   at System.Environment.GetStackTrace(Exception e)
//        at System.Environment.GetStackTrace(Exception e)
//        at System.Environment.get_StackTrace()
//        at Sample.Main()'
//     SystemDirectory: C:\WINNT\System32
//     TickCount: 17995355
//     UserDomainName: !---OMITTED---!
//     UserInteractive: True
//     UserName: !---OMITTED---!
//     Version: !---OMITTED---!
//     WorkingSet: 5038080
//     ExpandEnvironmentVariables:
//       My system drive is C: and my system root is C:\WINNT
//     GetEnvironmentVariable:
//       My temporary directory is C:\DOCUME~1\!---OMITTED---!\LOCALS~1\Temp.
//     GetEnvironmentVariables:
//       !---OMITTED---!
//     GetFolderPath: C:\WINNT\System32
//     GetLogicalDrives: A:\, C:\, D:\
' Sample for Environment class summary
Imports System.Collections

Class Sample
   Public Shared Sub Main()
      Dim str As [String]
      Dim nl As [String] = Environment.NewLine
      '
      Console.WriteLine()
      Console.WriteLine("-- Environment members --")
      
      '  Invoke this sample with an arbitrary set of command line arguments.
      Console.WriteLine("CommandLine: {0}", Environment.CommandLine)
      
      Dim arguments As [String]() = Environment.GetCommandLineArgs()
      Console.WriteLine("GetCommandLineArgs: {0}", [String].Join(", ", arguments))
      
      '  <-- Keep this information secure! -->
      Console.WriteLine("CurrentDirectory: {0}", Environment.CurrentDirectory)
      
      Console.WriteLine("ExitCode: {0}", Environment.ExitCode)
      
      Console.WriteLine("HasShutdownStarted: {0}", Environment.HasShutdownStarted)
      
      '  <-- Keep this information secure! -->
      Console.WriteLine("MachineName: {0}", Environment.MachineName)
      
      Console.WriteLine("NewLine: {0}  first line{0}  second line{0}" & _
                        "  third line", Environment.NewLine)
      
      Console.WriteLine("OSVersion: {0}", Environment.OSVersion.ToString())
      
      Console.WriteLine("StackTrace: '{0}'", Environment.StackTrace)
      
      '  <-- Keep this information secure! -->
      Console.WriteLine("SystemDirectory: {0}", Environment.SystemDirectory)
      
      Console.WriteLine("TickCount: {0}", Environment.TickCount)
      
      '  <-- Keep this information secure! -->
      Console.WriteLine("UserDomainName: {0}", Environment.UserDomainName)
      
      Console.WriteLine("UserInteractive: {0}", Environment.UserInteractive)
      
      '  <-- Keep this information secure! -->
      Console.WriteLine("UserName: {0}", Environment.UserName)
      
      Console.WriteLine("Version: {0}", Environment.Version.ToString())
      
      Console.WriteLine("WorkingSet: {0}", Environment.WorkingSet)
      
      '  No example for Exit(exitCode) because doing so would terminate this example.

      '  <-- Keep this information secure! -->
      Dim query As [String] = "My system drive is %SystemDrive% and my" & _
                              " system root is %SystemRoot%"
      str = Environment.ExpandEnvironmentVariables(query)
      Console.WriteLine("ExpandEnvironmentVariables: {0}  {1}", nl, str)
      
      Console.WriteLine("GetEnvironmentVariable: {0}  My temporary directory is {1}.", _
                        nl, Environment.GetEnvironmentVariable("TEMP"))
      
      Console.WriteLine("GetEnvironmentVariables: ")
      Dim environmentVariables As IDictionary = Environment.GetEnvironmentVariables()
      Dim de As DictionaryEntry
      For Each de In environmentVariables
         Console.WriteLine("  {0} = {1}", de.Key, de.Value)
      Next de
      
      Console.WriteLine("GetFolderPath: {0}", _
              Environment.GetFolderPath(Environment.SpecialFolder.System))
      
      Dim drives As [String]() = Environment.GetLogicalDrives()
      Console.WriteLine("GetLogicalDrives: {0}", [String].Join(", ", drives))
   End Sub
End Class
'
'This example produces results similar to the following:
'(Any result that is lengthy or reveals information that should remain 
'secure has been omitted and marked "!---OMITTED---!".)
'
'C:\>env0 ARBITRARY TEXT
'
'-- Environment members --
'CommandLine: env0 ARBITRARY TEXT
'GetCommandLineArgs: env0, ARBITRARY, TEXT
'CurrentDirectory: C:\Documents and Settings\!---OMITTED---!
'ExitCode: 0
'HasShutdownStarted: False
'MachineName: !---OMITTED---!
'NewLine:
'  first line
'  second line
'  third line
'OSVersion: Microsoft Windows NT 5.1.2600.0
'StackTrace: '   at System.Environment.GetStackTrace(Exception e)
'   at System.Environment.GetStackTrace(Exception e)
'   at System.Environment.get_StackTrace()
'   at Sample.Main()'
'SystemDirectory: C:\WINNT\System32
'TickCount: 17995355
'UserDomainName: !---OMITTED---!
'UserInteractive: True
'UserName: !---OMITTED---!
'Version: !---OMITTED---!
'WorkingSet: 5038080
'ExpandEnvironmentVariables:
'  My system drive is C: and my system root is C:\WINNT
'GetEnvironmentVariable:
'  My temporary directory is C:\DOCUME~1\!---OMITTED---!\LOCALS~1\Temp.
'GetEnvironmentVariables: 
'  !---OMITTED---!
'GetFolderPath: C:\WINNT\System32
'GetLogicalDrives: A:\, C:\, D:\
'

Hinweise

Verwenden Sie die Environment Klasse, um Informationen wie Befehlszeilenargumente, Ausgangscode, Umgebungsvariableneinstellungen, Inhalt des Aufrufstapels, Zeit seit dem letzten Systemstart und die Version der Common Language Runtime abzurufen.

Eigenschaften

Name Beschreibung
CommandLine

Ruft die Befehlszeile für diesen Prozess ab.

CpuUsage

Rufen Sie die CPU-Auslastung ab, einschließlich der Prozesszeit für die Ausführung des Anwendungscodes, der Prozesszeit für die Ausführung des Betriebssystemcodes und der Gesamtzeit für die Ausführung des Anwendungs- und Betriebssystemcodes.Get the CPU usage, including the process time spent running the application code, the process time spent running the operating system code.

CurrentDirectory

Ruft den vollqualifizierten Pfad des aktuellen Arbeitsverzeichnisses ab oder legt diesen fest.

CurrentManagedThreadId

Ruft einen eindeutigen Bezeichner für den aktuellen verwalteten Thread ab.

ExitCode

Dient zum Abrufen oder Festlegen des Beendigungscodes des Prozesses.

HasShutdownStarted

Ruft einen Wert ab, der angibt, ob die aktuelle Anwendungsdomäne entladen wird oder die Common Language Runtime (CLR) heruntergefahren wird.

Is64BitOperatingSystem

Ruft einen Wert ab, der angibt, ob das aktuelle Betriebssystem ein 64-Bit-Betriebssystem ist.

Is64BitProcess

Ruft einen Wert ab, der angibt, ob der aktuelle Prozess ein 64-Bit-Prozess ist.

IsPrivilegedProcess

Ruft einen Wert ab, der angibt, ob der aktuelle Prozess berechtigt ist, sicherheitsrelevante Funktionen auszuführen.

MachineName

Ruft den NetBIOS-Namen dieses lokalen Computers ab.

NewLine

Ruft die für diese Umgebung definierte Newline-Zeichenfolge ab.

OSVersion

Ruft den aktuellen Plattformbezeichner und die Versionsnummer ab.

ProcessId

Ruft den eindeutigen Bezeichner für den aktuellen Prozess ab.

ProcessorCount

Ruft die Anzahl der Prozessoren ab, die für den aktuellen Prozess verfügbar sind.

ProcessPath

Gibt den Pfad der ausführbaren Datei zurück, die den derzeit ausgeführten Prozess gestartet hat. Gibt zurück null , wenn der Pfad nicht verfügbar ist.

StackTrace

Ruft aktuelle Stapelablaufverfolgungsinformationen ab.

SystemDirectory

Ruft den vollqualifizierten Pfad des Systemverzeichnisses ab.

SystemPageSize

Ruft die Anzahl der Bytes auf der Speicherseite des Betriebssystems ab.

TickCount

Ruft die Anzahl der Millisekunden ab, die seit dem Start des Systems verstrichen sind.

TickCount64

Ruft die Anzahl der Millisekunden ab, die seit dem Start des Systems verstrichen sind.

UserDomainName

Ruft den Netzwerkdomänennamen ab, der dem aktuellen Benutzer zugeordnet ist.

UserInteractive

Ruft einen Wert ab, der angibt, ob der aktuelle Prozess im interaktiven Benutzermodus ausgeführt wird.

UserName

Ruft den Benutzernamen der Person ab, die dem aktuellen Thread zugeordnet ist.

Version

Ruft eine Version ab, die aus den Haupt-, Neben-, Build- und Revisionsnummern der Common Language Runtime besteht.

WorkingSet

Ruft die Menge des physischen Speichers ab, der dem Prozesskontext zugeordnet ist.

Methoden

Name Beschreibung
Exit(Int32)

Beendet diesen Vorgang und gibt einen Ausgangscode an das Betriebssystem zurück.

ExpandEnvironmentVariables(String)

Ersetzt den Namen jeder Umgebungsvariable, die in der angegebenen Zeichenfolge eingebettet ist, durch die Zeichenfolgenentsprechung des Werts der Variablen und gibt dann die resultierende Zeichenfolge zurück.

FailFast(String, Exception)

Beendet den Prozess sofort, bevor eine Fehlermeldung gemeldet wird. Für Windows wird die Fehlermeldung in das Windows Anwendungsereignisprotokoll geschrieben, und die Meldungs- und Ausnahmeinformationen werden in der Fehlerberichterstattung an Microsoft eingeschlossen. Bei Unix-ähnlichen Systemen wird die Nachricht neben der Stapelablaufverfolgung in den Standardfehlerstrom geschrieben.

FailFast(String)

Beendet den Prozess sofort, bevor eine Fehlermeldung gemeldet wird. Für Windows wird die Fehlermeldung in das Windows Anwendungsereignisprotokoll geschrieben, und die Meldung wird in die Fehlerberichterstattung auf Microsoft eingeschlossen. Für Unix-ähnliche Systeme wird die Nachricht zusammen mit der Stapelablaufverfolgung in den Standardfehlerstrom geschrieben.

GetCommandLineArgs()

Gibt ein Zeichenfolgenarray zurück, das die Befehlszeilenargumente für den aktuellen Prozess enthält.

GetEnvironmentVariable(String, EnvironmentVariableTarget)

Ruft den Wert einer Umgebungsvariable aus dem aktuellen Prozess oder aus dem Registrierungsschlüssel des Windows Betriebssystems für den aktuellen Benutzer oder lokalen Computer ab.

GetEnvironmentVariable(String)

Ruft den Wert einer Umgebungsvariablen aus dem aktuellen Prozess ab.

GetEnvironmentVariables()

Ruft alle Namen der Umgebungsvariablen und deren Werte aus dem aktuellen Prozess ab.

GetEnvironmentVariables(EnvironmentVariableTarget)

Ruft alle Namen der Umgebungsvariablen und deren Werte aus dem aktuellen Prozess oder aus dem Registrierungsschlüssel des Windows Betriebssystems für den aktuellen Benutzer oder lokalen Computer ab.

GetFolderPath(Environment+SpecialFolder, Environment+SpecialFolderOption)

Ruft den Pfad zum angegebenen systemspezifischen Ordner mithilfe einer angegebenen Option für den Zugriff auf spezielle Ordner ab.

GetFolderPath(Environment+SpecialFolder)

Ruft den Pfad zum angegebenen systemspezifischen Ordner ab.

GetLogicalDrives()

Ruft die Namen der logischen Laufwerke auf diesem Computer ab.

SetEnvironmentVariable(String, String, EnvironmentVariableTarget)

Erstellt, ändert oder löscht eine Umgebungsvariable, die im aktuellen Prozess oder im Windows Betriebssystemregistrierungsschlüssel für den aktuellen Benutzer oder lokalen Computer reserviert ist.

SetEnvironmentVariable(String, String)

Erstellt, ändert oder löscht eine Umgebungsvariable, die im aktuellen Prozess gespeichert ist.

Gilt für: