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:\
    
    */
    
  • 相关阅读:
    poj 2479
    纯CSS实现小圆点和三角形图案
    HDOJ1084 What Is Your Grade?
    4星|《一世富贵》:穿越到宋朝去抢了狄青、范仲淹的风头
    世界不是平的,发达国家在本地生产越来越合算。观点宏大,证据薄弱:3星|《后全球化时代》
    饥饿疗法是目前唯一确信能够延缓衰老的办法:4星|《三联生活周刊》2018年3期
    4星|《重塑》:消费者的信息能力是一个重要的经济变量。新颖的、有见地的国人原创经济理论
    3星|《高情商谈判》:谈判中控制情绪非常重要
    中间商赚差价让世界更美好:3.5星|《中间人经济》
    3.5星|《新零售的未来》:中美两国零售业的现状的分析和未来的展望
  • 原文地址:https://www.cnblogs.com/pegasus923/p/1944834.html
Copyright © 2011-2022 走看看