티스토리 뷰

프로그래밍

C#에서 운영체제 인식하기

야라바 2016. 11. 10. 17:44


public Form1()
{
    InitializeComponent();
    label1.Text = System.Environment.OSVersion.Platform.ToString() + ":" + 
                    System.Environment.OSVersion.Version.ToString() + ":" + 
                    System.Environment.OSVersion.VersionString;
}


C#으로 작성한 닷넷 응용을 윈도우 뿐만아니라 리눅스에서도 실행할 수 있는 시대가 되면서 크로스 플랫폼 응용을 개발하려는 개발자에게는 운영 체제 종류나 버전을 인식해야되는 필요성이 있습니다. 닷넷(mono 포함) 프레임워크가 발전하고는 있지만 운영체제나 버전에 따라서 지원하는 수준이나 동작 형태가 다르기 때문입니다. 오로지 특정 운영체제나 버전에 한정하는 응용을 개발한다면 고민할 일도 아니기는 합니다.


위의 그림은 Windows7에서 수행한 결과입니다. 코드를 보면 확인할 수 있지만 System.Environment.OSVersion.Platform, System.Environment.OSVersion.Version, System.Environment.OSVersion.VersionString을 적절히 활용할 수 있습니다.  System.Environment.OSVersion.Platform은 다음과 같은 열거형 값을 가질 수 있습니다.

    • Win32Windows : Windows 95, Windows 98, Windows Me

    • Win32NT : Windows NT 이상, Windows 2000, Windows XP, Windows 2003, Windows 7 ......

    • WinCE : Windows CE

    • Unix : 유닉스/리눅스 계열

    • Xbox : Xbox 360

    • MacOSX : 매킨토시

System.Environment.OSVersion.Version은 Major, MajorRevision, Minor, MinorRevision, Revision등의 항목을 확인할 수 있습니다.


위의 그림은 윈도우7에서 테스트했던 프로그램을 우분투 15.10에서 그대로 실행한 결과입니다. 리눅스와 윈도우의 차이점에서 오는 부분을 대비할 때 꼭 필요한 기능입니다.


댓글
댓글쓰기 폼