ENGLISH page is here.
GET DinopSearchBar
サイト内検索:
HOME
VC++ TIPS
ダウンロード
DinopExifReader
DinopSearchBar
DinopSearchBar mini
DinopTabbingBar
for Firefox
大阪湾の生き物
甲子園浜の自然
甲子園浜の干潟
甲子園浜の水中
甲子園浜の野鳥
近畿の山々
植物図鑑
箕面マップ
水中機材
カメラ
ランキング
望遠鏡の世界
顕微鏡の世界
Googleのすべて
GoogleマップAPI
ニュース
読んだ本
日記
変な料理の作り方
遺伝子操作
論文紹介
デイトレード
自動売買でFX
ネットで小遣い稼ぎ
Solaris
電子工作
その他
問い合わせ
VC++用コード集
大阪湾の生き物
水中用機材
since:2000/11/15
dinopcom@gmail.com
www.dinop.comは
だいのっぷ・どっと・こむ
と読んでください。







« OSのバージョン取得(stdlib.h使用) | メイン | char、wchar_t(WCHAR)とTCHAR »

OSのバージョン取得




使用方法

GetOS();を実行すれば整数形式でOSの種類が返る。

 95   -> Windows 95 (OSR2.0/2.1/2.5)
 98   -> Windows 98 (Second Edition)
 99   -> Windows Millennium Edition
 2000 -> Windows 2000
 3    -> Windows NT 3.5x
 4    -> Windows NT 4.0
 31   -> Windows 3.1
 0    -> 不明なOS


ソースコード

int	GetOS(CString* lpstrVersion/*=NULL*/)
{
	int             nOS;

	OSVERSIONINFO osVersionInfo;

	osVersionInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
	GetVersionEx(&osVersionInfo);

	if(lpstrVersion != NULL)
	{
		lpstrVersion->Format(" Version %d.%d Build %d",
			osVersionInfo.dwMajorVersion,
			osVersionInfo.dwMinorVersion,
			osVersionInfo.dwBuildNumber & 0xffff);
        }



	nOS = 0;
	switch(osVersionInfo.dwPlatformId)
	{
	case    VER_PLATFORM_WIN32s:
		nOS = 31;                       // Windows 3.1
		break;

	case VER_PLATFORM_WIN32_WINDOWS:
		if(osVersionInfo.dwMajorVersion == 4)
		{
			if(osVersionInfo.dwMinorVersion == 0)
				nOS = 95;               // Windows 95
			if(osVersionInfo.dwMinorVersion > 0)
				nOS = 98;               // Windows 98
			if(osVersionInfo.dwMinorVersion > 9)
				nOS = 99;               // Windows Me
		}

		if(osVersionInfo.dwMajorVersion > 4)
			nOS = 99;               // Windows Me
		break;

		case VER_PLATFORM_WIN32_NT:
			if(osVersionInfo.dwMajorVersion == 3)
				nOS = 3;                // Windows NT 3.5
			if(osVersionInfo.dwMajorVersion == 4)
				nOS = 4;                // Windows NT 4.0
			if(osVersionInfo.dwMajorVersion >= 5)
				nOS = 2000;             // Windows 2000
			break;

		default:
			nOS = 0;

	}


	if(lpstrVersion != NULL)
	{
		switch(nOS)
		{
		case    31:
			*lpstrVersion = "Windows 3.1" + *lpstrVersion;
			break;
		case    95:
			*lpstrVersion = "Windows 95" + *lpstrVersion;
			break;
		case    98:
			*lpstrVersion = "Windows 98" + *lpstrVersion;
			break;
		case    99:
			*lpstrVersion = "Windows Me" + *lpstrVersion;
			break;
		case    3:
			*lpstrVersion = "Windows NT 3.5x" + *lpstrVersion;
			break;
		case    4:
			*lpstrVersion = "Windows NT 4.0" + *lpstrVersion;
			break;
		case    2000:
			*lpstrVersion = "Windows 2000" + *lpstrVersion;
			break;
		default:
			*lpstrVersion = "Unknown OS" + *lpstrVersion;
			break;
		}
	}

	return	nOS;
}








Copyright (c) 1999-2007 issei. All rights reserved. (運営者情報