본문 바로가기
IT-개발,DB

[개발] Environment Class : 현재환경 및 플랫폼 정보 및 조작

by SB리치퍼슨 2010. 11. 5.

 http://blog.naver.com/tear230/100002806422

using System;
using System.Collections;


// System.Collections 네임스페이스에는 목록, 대기열, 비트 배열, 해시 테이블 및 사전과 같은
// 다양한 개체의 컬렉션을 정의하는 인터페이스와 클래스가 포함되어 있습니다.

 

class EnvironmentClass
{

    // Environment class 요약
   
// 현재 환경 및 플랫폼에 대한 정보 및 조작 방법을 제공. 이 클래스는 상속될 수 없습니다.

 

    public static void Main()
    {
        String str;
        String nl = Environment.NewLine;

        Console.WriteLine();
        Console.WriteLine("-- Environment 멤버--");

 

        // 프로세스에 대한 명령줄.
        Console.WriteLine("CommandLine: {0}", Environment.CommandLine);

 

        // 현재 프로세스에 대한 명령줄 인수가 들어 있는 문자열 배열을 반환.
        String[] arguments = Environment.GetCommandLineArgs();
        Console.WriteLine("GetCommandLineArgs: {0}", String.Join(", ", arguments));

 

       // 현재 디렉터리, 즉 이 프로세스가 시작된 디렉터리의 정규화된 경로를 가져와서 설정
        Console.WriteLine("CurrentDirectory: {0}", Environment.CurrentDirectory);

 

        // 프로세스의 종료 코드를 가져오거나 설정.
        Console.WriteLine("ExitCode: {0}", Environment.ExitCode);

 

        // 공용 언어 런타임의 종료 여부 또는 현재 응용 프로그램 도메인의 언로드 여부를 나타냄.

        Console.WriteLine("HasShutdownStarted: {0}", Environment.HasShutdownStarted);

 

       // 로컬 컴퓨터의 NetBIOS 이름을 가져온다.
        Console.WriteLine("MachineName: {0}", Environment.MachineName);

 

        //이 환경에 대해 정의된 줄 바꿈 문자열을 가져온다.
        Console.WriteLine("NewLine: {0}  first line{0}  second line{0}  third line", Environment.NewLine);

 

        // 현재 플랫폼 식별자와 버전 번호가 들어 있는 OperatingSystem 개체를 가져온다.
        Console.WriteLine("OSVersion: {0}", Environment.OSVersion.ToString());

 

        //현재 스택 추적 정보를 가져온다.
        Console.WriteLine("StackTrace: '{0}'", Environment.StackTrace);

 

        // 시스템 디렉터리의 정규화된 경로를 가져온다.
        Console.WriteLine("SystemDirectory: {0}", Environment.SystemDirectory);

 

        // 시스템 시작 이후 경과 시간(밀리초)을 가져온다.
        Console.WriteLine("TickCount: {0}", Environment.TickCount);

 

        // 현재 사용자와 관련된 네트워크 도메인 이름을 가져온다.
        Console.WriteLine("UserDomainName: {0}", Environment.UserDomainName);

 

        // 현재 프로세스가 사용자 대화형 모드로 실행되고 있는지 여부를 나타내는 값을 가져온다.
        Console.WriteLine("UserInteractive: {0}", Environment.UserInteractive);

 

       // 현재 스레드를 시작한 사람의 사용자 이름을 가져온다.
        Console.WriteLine("UserName: {0}", Environment.UserName);

 

        // 공용 언어 런타임의 주 번호, 보조 번호, 빌드 번호 및 수정 번호를 설명하는 Version 개체를 가져온다.
        Console.WriteLine("Version: {0}", Environment.Version.ToString());

 

        // 프로세스 컨텍스트에 매핑되는 실제 메모리의 크기를 가져온다
        Console.WriteLine("WorkingSet: {0}", Environment.WorkingSet);

 

        String query = "이 컴퓨터의 시스템 드라이브 :  %SystemDrive% ,  이 컴퓨터의 시스템 루트는  %SystemRoot%";

        // 지정된 문자열에 있는 각 환경 변수 이름을 해당 변수의 값에 해당하는 문자열로 바꾼 다음 결과 문자열을 반환.
        str = Environment.ExpandEnvironmentVariables(query);
        Console.WriteLine("ExpandEnvironmentVariables: {0}  {1}", nl, str);

 

        // 지정된 환경 변수의 값을 반환.
        Console.WriteLine("GetEnvironmentVariable: {0}  이컴퓨터의 임시디렉터리는 {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));

 

        Environment.Exit(Environment.ExitCode); 
        // 이 프로세스를 종료하고 내부 운영 체제에 지정된 종료 코드를 제공.
        // public static void Exit(int exitCode); 
        // exitCode : 운영 체제에 제공되는 종료 코드.

 

        Console.Read(); //실행화면 일시 중지
        //상단에 프로세스종료코드가 실행되었으므로 Console.Read()는 실행되지 않는다.
    }
}

반응형

댓글