zoukankan      html  css  js  c++  java
  • C#中如何获取系统环境变量

    C#中获取系统环境变量需要用到Environment Class。其中提供了有关当前环境和平台的信息以及操作它们的方法。该类不能被继承。

     

    以下代码得到%systemdrive%的值,即“C:”

    string sPath = Environment.GetEnvironmentVariable("systemdrive")

    string sPath = Environment.GetEnvironmentVariable("systemdrive");
    Console.WriteLine(sPath);
    
    //C:


    以下是MSDN上Environment Class的Sample code。

    http://msdn.microsoft.com/en-us/library/system.environment.aspx
     

    以下代码列出了当前系统的环境信息。

    // 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:\
    
    */
    
  • 相关阅读:
    json格式转换
    早该知道的7个JavaScript技巧
    SPFA加上SLF时判负环的条件
    HDU 4061 A Card Game
    线性筛法求素数
    STL之deque
    POJ 3219 二项式系数
    HDU 4296 Buildings
    HDU 4292 Food (成都赛区网络赛第五题,拆点网络流)
    拆点网络流(POJ3281)
  • 原文地址:https://www.cnblogs.com/pegasus923/p/1944834.html
Copyright © 2011-2022 走看看