Environment Environment Environment Environment Class

Definizione

Fornisce informazioni e mezzi per manipolare l'ambiente e la piattaforma correnti.Provides information about, and means to manipulate, the current environment and platform. Questa classe non può essere ereditata.This class cannot be inherited.

public ref class Environment abstract sealed
[System.Runtime.InteropServices.ComVisible(true)]
public static class Environment
type Environment = class
Public Class Environment
Ereditarietà
EnvironmentEnvironmentEnvironmentEnvironment
Attributi

Esempi

Nell'esempio seguente viene illustrato come visualizzare un elenco di informazioni sull'ambiente corrente.The following example demonstrates displays a list of information about the current 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
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 'Sample
'
'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:\
'

Commenti

Usare la Environment classe per recuperare informazioni come argomenti della riga di comando, il codice di uscita, le impostazioni delle variabili di ambiente, il contenuto dello stack di chiamate, l'ora dall'ultimo avvio del sistema e la versione del Common Language Runtime.Use the Environment class to retrieve information such as command-line arguments, the exit code, environment variable settings, contents of the call stack, time since last system boot, and the version of the common language runtime.

Proprietà

CommandLine CommandLine CommandLine CommandLine

Ottiene la riga di comando per questo processo.Gets the command line for this process.

CurrentDirectory CurrentDirectory CurrentDirectory CurrentDirectory

Ottiene o imposta il percorso completo della directory di lavoro corrente.Gets or sets the fully qualified path of the current working directory.

CurrentManagedThreadId CurrentManagedThreadId CurrentManagedThreadId CurrentManagedThreadId

Ottiene un identificatore univoco per il thread gestito corrente.Gets a unique identifier for the current managed thread.

ExitCode ExitCode ExitCode ExitCode

Ottiene o imposta il codice di uscita del processo.Gets or sets the exit code of the process.

HasShutdownStarted HasShutdownStarted HasShutdownStarted HasShutdownStarted

Ottiene un valore che indica se si sta scaricando il dominio applicazione corrente o se è in corso la chiusura di Common Language Runtime (CLR).Gets a value that indicates whether the current application domain is being unloaded or the common language runtime (CLR) is shutting down.

Is64BitOperatingSystem Is64BitOperatingSystem Is64BitOperatingSystem Is64BitOperatingSystem

Determina se il sistema operativo corrente è un sistema operativo a 64 bit.Determines whether the current operating system is a 64-bit operating system.

Is64BitProcess Is64BitProcess Is64BitProcess Is64BitProcess

Determina se il processo corrente è un processo a 64 bit.Determines whether the current process is a 64-bit process.

MachineName MachineName MachineName MachineName

Ottiene il nome NetBIOS del computer locale.Gets the NetBIOS name of this local computer.

NewLine NewLine NewLine NewLine

Ottiene la stringa della nuova riga definita per questo ambiente.Gets the newline string defined for this environment.

OSVersion OSVersion OSVersion OSVersion

Ottiene un oggetto OperatingSystem che contiene l'identificatore e il numero di versione della piattaforma corrente.Gets an OperatingSystem object that contains the current platform identifier and version number.

ProcessorCount ProcessorCount ProcessorCount ProcessorCount

Ottiene il numero di processori sul computer corrente.Gets the number of processors on the current machine.

StackTrace StackTrace StackTrace StackTrace

Ottiene informazioni sull'analisi dello stack corrente.Gets current stack trace information.

SystemDirectory SystemDirectory SystemDirectory SystemDirectory

Recupera il percorso completo della directory di sistema.Gets the fully qualified path of the system directory.

SystemPageSize SystemPageSize SystemPageSize SystemPageSize

Ottiene il numero di byte nella pagina di memoria del sistema operativo.Gets the number of bytes in the operating system's memory page.

TickCount TickCount TickCount TickCount

Ottiene il numero di millisecondi trascorsi dall'avvio del sistema.Gets the number of milliseconds elapsed since the system started.

TickCount64 TickCount64 TickCount64 TickCount64

Ottiene il numero di millisecondi trascorsi dall'avvio del sistema.Gets the number of milliseconds elapsed since the system started.

UserDomainName UserDomainName UserDomainName UserDomainName

Ottiene il nome del dominio di rete associato all'utente corrente.Gets the network domain name associated with the current user.

UserInteractive UserInteractive UserInteractive UserInteractive

Ottiene un valore che indica se il processo corrente viene eseguito in modalità interattiva utente.Gets a value indicating whether the current process is running in user interactive mode.

UserName UserName UserName UserName

Ottiene il nome utente della persona attualmente connessa al sistema operativo.Gets the user name of the person who is currently logged on to the operating system.

Version Version Version Version

Ottiene un oggetto Version che descrive i numeri di versione principale, di versione secondaria, di build e di revisione di Common Language Runtime.Gets a Version object that describes the major, minor, build, and revision numbers of the common language runtime.

WorkingSet WorkingSet WorkingSet WorkingSet

Ottiene la quantità di memoria fisica associata al contesto del processo.Gets the amount of physical memory mapped to the process context.

Metodi

Exit(Int32) Exit(Int32) Exit(Int32) Exit(Int32)

Termina questo processo e restituisce un codice di uscita al sistema operativo.Terminates this process and returns an exit code to the operating system.

ExpandEnvironmentVariables(String) ExpandEnvironmentVariables(String) ExpandEnvironmentVariables(String) ExpandEnvironmentVariables(String)

Sostituisce il nome di ogni variabile di ambiente incorporata nella stringa specificata con l'equivalente di stringa del valore della variabile, quindi restituisce la stringa risultante.Replaces the name of each environment variable embedded in the specified string with the string equivalent of the value of the variable, then returns the resulting string.

FailFast(String) FailFast(String) FailFast(String) FailFast(String)

Interrompe immediatamente un processo dopo aver scritto un messaggio nel registro eventi dell'applicazione di Windows. Quindi, include il messaggio nella segnalazione errori da inviare a Microsoft.Immediately terminates a process after writing a message to the Windows Application event log, and then includes the message in error reporting to Microsoft.

FailFast(String, Exception) FailFast(String, Exception) FailFast(String, Exception) FailFast(String, Exception)

Interrompe immediatamente un processo dopo aver scritto un messaggio nel registro eventi dell'applicazione di Windows. Quindi, include il messaggio e informazioni sull'eccezione nella segnalazione errori da inviare a Microsoft.Immediately terminates a process after writing a message to the Windows Application event log, and then includes the message and exception information in error reporting to Microsoft.

GetCommandLineArgs() GetCommandLineArgs() GetCommandLineArgs() GetCommandLineArgs()

Restituisce una matrice di stringa contenente gli argomenti della riga di comando per il processo corrente.Returns a string array containing the command-line arguments for the current process.

GetEnvironmentVariable(String) GetEnvironmentVariable(String) GetEnvironmentVariable(String) GetEnvironmentVariable(String)

Recupera dal processo corrente il valore di una variabile di ambiente.Retrieves the value of an environment variable from the current process.

GetEnvironmentVariable(String, EnvironmentVariableTarget) GetEnvironmentVariable(String, EnvironmentVariableTarget) GetEnvironmentVariable(String, EnvironmentVariableTarget) GetEnvironmentVariable(String, EnvironmentVariableTarget)

Recupera il valore di una variabile di ambiente dal processo corrente o dalla chiave del Registro del sistema operativo Windows per l'utente corrente o per il computer locale.Retrieves the value of an environment variable from the current process or from the Windows operating system registry key for the current user or local machine.

GetEnvironmentVariables() GetEnvironmentVariables() GetEnvironmentVariables() GetEnvironmentVariables()

Recupera tutti i nomi delle variabili di ambiente e i rispettivi valori dal processo corrente.Retrieves all environment variable names and their values from the current process.

GetEnvironmentVariables(EnvironmentVariableTarget) GetEnvironmentVariables(EnvironmentVariableTarget) GetEnvironmentVariables(EnvironmentVariableTarget) GetEnvironmentVariables(EnvironmentVariableTarget)

Recupera tutti i nomi delle variabili di ambiente e i rispettivi valori dal processo corrente o dalla chiave del Registro del sistema operativo Windows per l'utente corrente o per il computer locale.Retrieves all environment variable names and their values from the current process, or from the Windows operating system registry key for the current user or local machine.

GetFolderPath(Environment+SpecialFolder) GetFolderPath(Environment+SpecialFolder) GetFolderPath(Environment+SpecialFolder) GetFolderPath(Environment+SpecialFolder)

Ottiene il percorso della cartella speciale di sistema identificata dall'enumerazione specificata.Gets the path to the system special folder that is identified by the specified enumeration.

GetFolderPath(Environment+SpecialFolder, Environment+SpecialFolderOption) GetFolderPath(Environment+SpecialFolder, Environment+SpecialFolderOption) GetFolderPath(Environment+SpecialFolder, Environment+SpecialFolderOption) GetFolderPath(Environment+SpecialFolder, Environment+SpecialFolderOption)

Ottiene il percorso della cartella speciale di sistema identificata dall'enumerazione specificata e usa un'opzione specificata per l'accesso a cartelle speciali.Gets the path to the system special folder that is identified by the specified enumeration, and uses a specified option for accessing special folders.

GetLogicalDrives() GetLogicalDrives() GetLogicalDrives() GetLogicalDrives()

Restituisce una matrice di stringa contenente i nomi delle unità logiche sul computer corrente.Returns an array of string containing the names of the logical drives on the current computer.

SetEnvironmentVariable(String, String) SetEnvironmentVariable(String, String) SetEnvironmentVariable(String, String) SetEnvironmentVariable(String, String)

Crea, modifica o elimina una variabile di ambiente memorizzata nel processo corrente.Creates, modifies, or deletes an environment variable stored in the current process.

SetEnvironmentVariable(String, String, EnvironmentVariableTarget) SetEnvironmentVariable(String, String, EnvironmentVariableTarget) SetEnvironmentVariable(String, String, EnvironmentVariableTarget) SetEnvironmentVariable(String, String, EnvironmentVariableTarget)

Crea, modifica o elimina una variabile di ambiente memorizzata nel processo corrente o nella chiave del Registro del sistema operativo Windows riservata all'utente corrente o al computer locale.Creates, modifies, or deletes an environment variable stored in the current process or in the Windows operating system registry key reserved for the current user or local machine.

Si applica a