1. 程式人生 > >獲取Windows作業系統版本和位數

獲取Windows作業系統版本和位數

(1)獲取系統位數32bit 64bit

void CXXXDlg::GetSysBit(bool& bIs32Bit)
{
	bIs32Bit=true;
	SYSTEM_INFO si;
	// Copy the hardware information to the SYSTEM_INFO structure.
	GetNativeSystemInfo(&si);
	// Display the contents of the SYSTEM_INFO structure.
	printf("si.wProcessorArchitecture = %d\nPROCESSOR_ARCHITECTURE_AMD64 = %d\nPROCESSOR_ARCHITECTURE_IA64 = %d\n",
		si.wProcessorArchitecture, PROCESSOR_ARCHITECTURE_AMD64, PROCESSOR_ARCHITECTURE_IA64);
	if (si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64 || si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_IA64)
	{
		bIs32Bit=false;
	}
	else{
		bIs32Bit=true;
	}
}
(2)獲取系統版本號
void  CXXXDlg::GetSysType(DWORD& dwMajorVersion,DWORD& dwMinorVersion)
{
	//DWORD dwOSVersionInfoSize;//
	//DWORD dwMajorVersion;//主版本號
	//DWORD dwMinorVersion;//副版本
	//DWORD dwBuildNumber;//建立號
	//DWORD dwPlatformId;//ID號
	//WCHAR  szCSDVersion[ 128 ]; //
	dwMajorVersion=0;
	dwMinorVersion=0;
	OSVERSIONINFO osvi;                                                     //定義OSVERSIONINFO資料結構物件
	memset(&osvi, 0, sizeof(OSVERSIONINFO));                    //開空間 
	osvi.dwOSVersionInfoSize = sizeof (OSVERSIONINFO);   //定義大小 
	GetVersionEx (&osvi);                                                        //獲得版本資訊 
	dwMajorVersion=osvi.dwMajorVersion;
	dwMinorVersion=osvi.dwMinorVersion;
}