Environment 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
현재 환경 및 플랫폼에 대한 정보 및 조작 방법을 제공합니다. 이 클래스는 상속될 수 없습니다.
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
- 상속
-
Environment
- 특성
예제
다음 예제에서는 현재 환경에 대한 정보 목록을 표시합니다.
// Sample for Environment class summary
using namespace System;
using namespace System::Collections;
int 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 );
array<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 );
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 );
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();
IEnumerator^ myEnum = environmentVariables->GetEnumerator();
while ( myEnum->MoveNext() )
{
DictionaryEntry^ de = safe_cast<DictionaryEntry^>(myEnum->Current);
Console::WriteLine( " {0} = {1}", de->Key, de->Value );
}
Console::WriteLine( "GetFolderPath: {0}", Environment::GetFolderPath( Environment::SpecialFolder::System ) );
array<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 S"!---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
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:\
'
설명
클래스를 Environment 사용하여 명령줄 인수, 종료 코드, 환경 변수 설정, 호출 스택의 콘텐츠, 마지막 시스템 부팅 이후 시간 및 공용 언어 런타임 버전과 같은 정보를 검색합니다.
속성
CommandLine |
이 프로세스에 대한 명령줄을 가져옵니다. |
CpuUsage |
현재 환경 및 플랫폼에 대한 정보 및 조작 방법을 제공합니다. 이 클래스는 상속될 수 없습니다. |
CurrentDirectory |
현재 작업 디렉터리의 정규화된 경로를 가져오거나 설정합니다. |
CurrentManagedThreadId |
현재 관리되는 스레드의 고유 식별자를 가져옵니다. |
ExitCode |
프로세스의 종료 코드를 가져오거나 설정합니다. |
HasShutdownStarted |
현재 애플리케이션 도메인이 언로드되고 있는지 또는 CLR(공용 언어 런타임)이 종료되고 있는지를 나타내는 값을 가져옵니다. |
Is64BitOperatingSystem |
현재 운영 체제가 64비트 운영 체제인지 여부를 나타내는 값을 가져옵니다. |
Is64BitProcess |
현재 프로세스가 64비트 프로세스인지 여부를 나타내는 값을 가져옵니다. |
IsPrivilegedProcess |
현재 프로세스에서 보안 관련 함수를 수행할 권한이 있는지 여부를 나타내는 값을 가져옵니다. |
MachineName |
이 로컬 컴퓨터의 NetBIOS 이름을 가져옵니다. |
NewLine |
이 환경에 대해 정의된 줄 바꿈 문자열을 가져옵니다. |
OSVersion |
현재 플랫폼 식별자 및 버전 번호를 가져옵니다. |
ProcessId |
현재 프로세스의 고유 식별자를 가져옵니다. |
ProcessorCount |
현재 프로세스에서 사용할 수 있는 프로세서 수를 가져옵니다. |
ProcessPath |
현재 실행 중인 프로세스를 시작한 실행 파일의 경로를 반환합니다. 경로를 사용할 수 없는 경우 를 반환 |
StackTrace |
현재 스택 추적 정보를 가져옵니다. |
SystemDirectory |
시스템 디렉터리의 정규화된 경로를 가져옵니다. |
SystemPageSize |
운영 체제의 메모리 페이지에서 바이트 수를 가져옵니다. |
TickCount |
시스템 시작 이후 경과 시간(밀리초)을 가져옵니다. |
TickCount64 |
시스템 시작 이후 경과 시간(밀리초)을 가져옵니다. |
UserDomainName |
현재 사용자와 관련된 네트워크 도메인 이름을 가져옵니다. |
UserInteractive |
현재 프로세스가 사용자 대화형 모드로 실행되고 있는지를 나타내는 값을 가져옵니다. |
UserName |
현재 스레드와 연결된 사용자의 사용자 이름을 가져옵니다. |
Version |
공용 언어 런타임의 주 버전, 부 버전, 빌드 번호 및 개정 번호로 구성된 버전을 가져옵니다. |
WorkingSet |
프로세스 컨텍스트에 매핑되는 실제 메모리의 크기를 가져옵니다. |
메서드
Exit(Int32) |
이 프로세스를 종료하고 운영 체제에 종료 코드를 반환합니다. |
ExpandEnvironmentVariables(String) |
지정된 문자열에 있는 각 환경 변수 이름을 해당 변수의 값에 해당하는 문자열로 바꾼 다음 결과 문자열을 반환합니다. |
FailFast(String) |
오류 메시지를 보고하기 전에 프로세스를 즉시 종료합니다. Windows의 경우 오류 메시지가 Windows 애플리케이션 이벤트 로그에 기록되고 메시지는 Microsoft에 대한 오류 보고에 포함됩니다. Unix와 유사한 시스템의 경우 스택 추적과 함께 메시지가 표준 오류 스트림에 기록됩니다. |
FailFast(String, Exception) |
오류 메시지를 보고하기 전에 프로세스를 즉시 종료합니다. Windows의 경우 오류 메시지가 Windows 애플리케이션 이벤트 로그에 기록되고 메시지 및 예외 정보가 Microsoft에 대한 오류 보고에 포함됩니다. Unix와 유사한 시스템의 경우 스택 추적과 함께 메시지가 표준 오류 스트림에 기록됩니다. |
GetCommandLineArgs() |
현재 프로세스에 대한 명령줄 인수가 포함된 문자열 배열을 반환합니다. |
GetEnvironmentVariable(String) |
현재 프로세스에서 환경 변수의 값을 검색합니다. |
GetEnvironmentVariable(String, EnvironmentVariableTarget) |
현재 프로세스 또는 현재 사용자나 로컬 컴퓨터의 Windows 운영 체제 레지스트리 키에서 환경 변수의 값을 검색합니다. |
GetEnvironmentVariables() |
현재 프로세스에서 모든 환경 변수 이름과 해당 값을 검색합니다. |
GetEnvironmentVariables(EnvironmentVariableTarget) |
현재 프로세스 또는 현재 사용자나 로컬 컴퓨터의 Windows 운영 체제 레지스트리 키에서 모든 환경 변수 이름과 해당 값을 검색합니다. |
GetFolderPath(Environment+SpecialFolder) |
지정된 시스템 특수 폴더의 경로를 가져옵니다. |
GetFolderPath(Environment+SpecialFolder, Environment+SpecialFolderOption) |
특수 폴더에 액세스하기 위해 지정된 옵션을 사용하여 지정된 시스템 특수 폴더의 경로를 가져옵니다. |
GetLogicalDrives() |
현재 컴퓨터의 논리 드라이브 이름이 포함된 문자열의 배열을 반환합니다. |
SetEnvironmentVariable(String, String) |
현재 프로세스에 저장되어 있는 환경 변수를 생성, 수정 또는 삭제합니다. |
SetEnvironmentVariable(String, String, EnvironmentVariableTarget) |
현재 프로세스 또는 현재 사용자나 로컬 컴퓨터에 예약된 Windows 운영 체제 레지스트리 키에 저장되어 있는 환경 변수를 생성, 수정 또는 삭제합니다. |
적용 대상
.NET