[C++] C++ 코드로 Windows버전 알아오는 방법
Programming/C++_C#2020. 7. 19. 10:30
반응형
안녕하세요.
오늘은 비쥬얼스튜디오에서 C++로 해당 컴퓨터 윈도우버전이 무엇인지 알아오는
코드를 포스팅하겠습니다.
1. 해더에 아래와 같이 선언합니다.
2. NetWkstaGetInfo함수를 통해 윈도우버전을 가져오는 코드부분입니다.
코드
#include <iostream>
#include <windows.h>
#include <Lm.h>
#pragma comment(lib, "netapi32.lib")
#pragma warning(disable:4996)
using namespace std;
const char* GetOSName(DWORD& dwMajor, DWORD& dwMino)
{
if ((dwMajor == 4) && (dwMino == 0)) return "WIN_95"; else
if ((dwMajor == 4) && (dwMino == 10)) return "WIN_98";
else if ((dwMajor == 4) && (dwMino == 90)) return "WIN_ME";
else if ((dwMajor == 5) && (dwMino == 0)) return "WIN_2000";
else if ((dwMajor == 5) && (dwMino == 1)) return "WIN_XP";
else if ((dwMajor == 5) && (dwMino == 2)) return "WIN_.NET";
else if ((dwMajor == 6) && (dwMino == 0)) return "WIN_VISTA";
else if ((dwMajor == 6) && (dwMino == 1)) return "WIN_7";
else if ((dwMajor == 6) && (dwMino == 2)) return "WIN_8";
else if ((dwMajor == 6) && (dwMino == 3)) return "WIN_8.1";
else if ((dwMajor == 10) && (dwMino == 0)) return "WIN_10";
return "WIN_ETC";
}
int main()
{
static DWORD dwMajorCache = 0, dwMinorCache = 0;
LPWKSTA_INFO_100 pBuf = NULL;
if (NERR_Success != NetWkstaGetInfo(NULL, 100, (LPBYTE*)&pBuf))
return FALSE;
dwMajorCache = pBuf->wki100_ver_major;
dwMinorCache = pBuf->wki100_ver_minor; NetApiBufferFree(pBuf);
cout << GetOSName(dwMajorCache, dwMinorCache) << endl;
}
반응형
'Programming > C++_C#' 카테고리의 다른 글
[C++] priority_queue (오름차순/내림차순 큐) (0) | 2021.08.31 |
---|---|
[C++] string 기능 - substr/find/rfind (0) | 2021.03.30 |
[C/C++] Visual Studio C++ 콘솔에서 화면 지우기 (0) | 2020.07.06 |
[OpenSSL] OpenSSL 설치 및 Visual Studio 적용하기 (0) | 2020.06.11 |
[C++] using키워드 (0) | 2019.07.03 |
댓글()