Environment Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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 |
| 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. |