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 |
現在のプラットフォーム ID とバージョン番号を取得します。 |
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