Environment Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Poskytuje informace o aktuálním prostředí a platformě a umožňuje manipulaci s nimi. Tato třída se nemůže dědit.
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
- Dědičnost
-
Environment
- Atributy
Příklady
Následující příklad zobrazí seznam informací o aktuálním prostředí.
// 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:\
'
Poznámky
Environment Pomocí třídy můžete načíst informace, jako jsou argumenty příkazového řádku, ukončovací kód, nastavení proměnné prostředí, obsah zásobníku volání, čas od posledního spuštění systému a verze modulu COMMON Language Runtime.
Vlastnosti
| Name | Description |
|---|---|
| CommandLine |
Získá příkazový řádek pro tento proces. |
| CpuUsage |
Získejte využití procesoru, včetně času stráveného spuštěním kódu aplikace, času stráveného spuštěním kódu operačního systému a celkového času stráveného spuštěním kódu aplikace i operačního systému. |
| CurrentDirectory |
Získá nebo nastaví plně kvalifikovanou cestu aktuálního pracovního adresáře. |
| CurrentManagedThreadId |
Získá jedinečný identifikátor pro aktuální spravované vlákno. |
| ExitCode |
Získá nebo nastaví ukončovací kód procesu. |
| HasShutdownStarted |
Získá hodnotu, která označuje, zda je aktuální doména aplikace uvolněna nebo clr (Common Language Runtime) je vypnuta. |
| Is64BitOperatingSystem |
Získá hodnotu, která označuje, zda aktuální operační systém je 64bitový operační systém. |
| Is64BitProcess |
Získá hodnotu, která označuje, zda aktuální proces je 64bitový proces. |
| IsPrivilegedProcess |
Získá hodnotu, která určuje, zda je aktuální proces autorizovaný k provádění funkcí relevantních pro zabezpečení. |
| MachineName |
Získá název netBIOS tohoto místního počítače. |
| NewLine |
Získá řetězec newline definovaný pro toto prostředí. |
| OSVersion |
Získá aktuální identifikátor platformy a číslo verze. |
| ProcessId |
Získá jedinečný identifikátor pro aktuální proces. |
| ProcessorCount |
Získá počet procesorů dostupných pro aktuální proces. |
| ProcessPath |
Vrátí cestu spustitelného souboru, který spustil aktuálně spuštěný proces. Vrátí |
| StackTrace |
Získá aktuální informace o trasování zásobníku. |
| SystemDirectory |
Získá plně kvalifikovanou cestu systémového adresáře. |
| SystemPageSize |
Získá počet bajtů na stránce paměti operačního systému. |
| TickCount |
Získá počet milisekund uplynul od spuštění systému. |
| TickCount64 |
Získá počet milisekund uplynul od spuštění systému. |
| UserDomainName |
Získá název síťové domény přidružené k aktuálnímu uživateli. |
| UserInteractive |
Získá hodnotu určující, zda aktuální proces běží v interaktivním režimu uživatele. |
| UserName |
Získá uživatelské jméno osoby, která je přidružena k aktuálnímu vláknu. |
| Version |
Získá verzi skládající se z hlavních, podverze, sestavení a revizních čísel modulu CLR (Common Language Runtime). |
| WorkingSet |
Získá množství fyzické paměti mapované na kontext procesu. |
Metody
| Name | Description |
|---|---|
| Exit(Int32) |
Ukončí tento proces a vrátí ukončovací kód do operačního systému. |
| ExpandEnvironmentVariables(String) |
Nahradí název každé proměnné prostředí vložené do zadaného řetězce řetězcovým ekvivalentem hodnoty proměnné a vrátí výsledný řetězec. |
| FailFast(String, Exception) |
Okamžitě ukončí proces před hlášením chybové zprávy. V případě Windows se chybová zpráva zapíše do protokolu událostí Windows aplikace a zpráva a informace o výjimce se zahrnou do hlášení chyb Microsoft. U systémů unixových systémů se zpráva vedle trasování zásobníku zapíše do standardního datového proudu chyb. |
| FailFast(String) |
Okamžitě ukončí proces před hlášením chybové zprávy. Pro Windows se chybová zpráva zapíše do protokolu událostí Windows aplikace a zpráva se zahrne do hlášení chyb pro Microsoft. U systémů unixových systémů se zpráva vedle trasování zásobníku zapisuje do standardního datového proudu chyb. |
| GetCommandLineArgs() |
Vrátí pole řetězců obsahující argumenty příkazového řádku pro aktuální proces. |
| GetEnvironmentVariable(String, EnvironmentVariableTarget) |
Načte hodnotu proměnné prostředí z aktuálního procesu nebo z klíče registru operačního systému Windows pro aktuálního uživatele nebo místního počítače. |
| GetEnvironmentVariable(String) |
Načte hodnotu proměnné prostředí z aktuálního procesu. |
| GetEnvironmentVariables() |
Načte všechny názvy proměnných prostředí a jejich hodnoty z aktuálního procesu. |
| GetEnvironmentVariables(EnvironmentVariableTarget) |
Načte všechny názvy proměnných prostředí a jejich hodnoty z aktuálního procesu nebo z klíče registru operačního systému Windows pro aktuálního uživatele nebo místního počítače. |
| GetFolderPath(Environment+SpecialFolder, Environment+SpecialFolderOption) |
Získá cestu k zadané systémové speciální složce pomocí zadané možnosti pro přístup ke speciálním složkám. |
| GetFolderPath(Environment+SpecialFolder) |
Získá cestu k zadané systémové speciální složce. |
| GetLogicalDrives() |
Načte názvy logických jednotek v tomto počítači. |
| SetEnvironmentVariable(String, String, EnvironmentVariableTarget) |
Vytvoří, upraví nebo odstraní proměnnou prostředí uloženou v aktuálním procesu nebo v klíči registru operačního systému Windows vyhrazený pro aktuálního uživatele nebo místního počítače. |
| SetEnvironmentVariable(String, String) |
Vytvoří, upraví nebo odstraní proměnnou prostředí uloženou v aktuálním procesu. |