반응형
윈도우 프로그램을 만들 때 설치되는 컴퓨터가 실행 가능한 Window 버전인지 확인해야 할 때가 있습니다. 이를 위해서 C#에서는 System.OperatingSystem
을 통해서 현재 컴퓨터의 Window 버전을 알 수 있습니다.
System.Envrionment.OSVersion
에서 대부분 Windows OS 버전을 구별할 수 있습니다. 다음 표는 각 윈도우 버전을 구분하기 위한 매핑되는 세 가지 요소를 나타냈습니다.
C#에서는 다음과 같이 찾을 수 있습니다.
OperatingSystem os = Environment.OSVersion;
var platFormID = os.Platform;
var majorVersion = os.Version.Major;
var minorVersion = os.Version.Minor;
📔 코드
기본적으로 대부분의 컴퓨터는 PlatformID가 Win32NT
를 기준으로 나누면 될 것입니다. (해당 코드는 Window 98 이하는 구분하지 않고 있습니다.)
using System;
namespace WindowVersion
{
public class Program
{
static void Main(string[] args)
{
Console.WriteLine("******************************************");
Console.WriteLine($"현재 Window Version : {WidnowVersion.getWindowVersion()}");
Console.WriteLine("******************************************");
}
}
public static class WidnowVersion
{
public static string getWindowVersion()
{
OperatingSystem os = Environment.OSVersion;
switch (os.Platform)
{
case PlatformID.Win32NT:
return getWindowVersionInWin32NT(os.Version);
default:
return "UnKnown or not more than Window 98";
}
}
private static string getWindowVersionInWin32NT(Version version)
{
switch (version.Major)
{
case 4:
return "Windows NT 4.0";
case 5:
if (version.Minor == 0)
return "Windows 2000";
else if (version.Minor == 1)
return "Windows XP";
else
return "Windows 2003";
case 6:
if (version.Minor == 0)
return "Windows Vista";
else if (version.Minor == 1)
return "Windows 7";
else
return "Windows 8";
case 10:
if (version.Minor == 0)
return "Windows 10";
else
return "Windows 10";
default:
return "UnKnown Version";
}
}
}
}
반응형
'프로그래밍 > C#' 카테고리의 다른 글
[C#] regsvr32.exe를 이용하여 DLL, OCX 등록 및 삭제하기 (0) | 2021.11.03 |
---|---|
[C#] 레지스트리 사용법 (읽기, 쓰기, 삭제, 64bit or 32bit) (0) | 2021.09.06 |
[C#] 파일 생성하기 (0) | 2021.07.25 |
[C#] 특정 폴더에서 이미지나 동영상 파일들 가져오기 (MediaUtility) (0) | 2021.07.23 |
댓글