void CMainPage::OnBnClickedVersion()
{
typedef void (WINAPI PGNSI)(LPSYSTEM_INFO);
typedef BOOL (WINAPI PGPI)(DWORD, DWORD, DWORD, DWORD, PDWORD);
OSVERSIONINFOEX osvi;
SYSTEM_INFO si;
PGNSI pGNSI;
BOOL bOsVersionInfoEx;
ZeroMemory(&si, sizeof(SYSTEM_INFO));
ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX));
osvidwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
bOsVersionInfoEx = GetVersionEx((OSVERSIONINFO ) &osvi);
if (!bOsVersionInfoEx)
{
return ;
}
pGNSI = (PGNSI)GetProcAddress(GetModuleHandle(_T("kernel32dll")),
"GetNativeSystemInfo");
if (NULL != pGNSI)
{
pGNSI(&si);
}
else
{
GetSystemInfo(&si);
}
CString strMajor;
if ((VER_PLATFORM_WIN32_NT == osvidwPlatformId) &&
(osvidwMajorVersion > 4))
{
strMajor = _T("Microsoft ");
switch (osvidwMajorVersion)
{
case 6:
if (osvidwMinorVersion == 0)
{
if( osviwProductType == VER_NT_WORKSTATION )
{
strMajor += _T("Windows Vista ");
}
else
{
strMajor += _T("Windows Server 2008 ");
}
}
else if (osvidwMinorVersion == 1)
{
strMajor += _T("Windows 7");
}
if (siwProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64)
{
strMajor += _T(", 64 bits");
}
else if (siwProcessorArchitecture==PROCESSOR_ARCHITECTURE_INTEL )
{
strMajor += _T(", 32 bits");
}
break;
case 5:
if (osvidwMinorVersion == 2 )
{
if ( osviwSuiteMask==VER_SUITE_STORAGE_SERVER )
{
strMajor += _T("Windows Storage Server 2003");
}
else if ((osviwProductType == VER_NT_WORKSTATION) &&
(siwProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64))
{
strMajor += _T("Windows XP Professional x64 Edition");
}
else
{
strMajor += _T("Windows Server 2003 ");
}
if ( osviwProductType != VER_NT_WORKSTATION )
{
if ( siwProcessorArchitecture==PROCESSOR_ARCHITECTURE_IA64 )
{
if( osviwSuiteMask & VER_SUITE_DATACENTER )
{
strMajor += _T("Datacenter Edition for Itanium-based Systems");
}
else if( osviwSuiteMask & VER_SUITE_ENTERPRISE )
{
strMajor += _T("Enterprise Edition for Itanium-based Systems");
}
}
else if ( siwProcessorArchitecture==PROCESSOR_ARCHITECTURE_AMD64)
{
if( osviwSuiteMask & VER_SUITE_DATACENTER )
{
strMajor += _T( "Datacenter x64 Edition");
}
else if( osviwSuiteMask & VER_SUITE_ENTERPRISE )
{
strMajor += _T( "Enterprise x64 Edition");
}
else
{
strMajor += _T( "Standard x64 Edition");
}
}
else
{
if ( osviwSuiteMask & VER_SUITE_COMPUTE_SERVER )
{
strMajor += _T( "Compute Cluster Edition");
}
else if( osviwSuiteMask & VER_SUITE_DATACENTER)
{
strMajor += _T( "Datacenter Edition");
}
else if( osviwSuiteMask & VER_SUITE_ENTERPRISE )
{
strMajor += _T( "Enterprise Edition");
}
else if ( osviwSuiteMask & VER_SUITE_BLADE)
{
strMajor += _T( "Web Edition");
}
else
{
strMajor += _T( "Standard Edition");
}
}
}
}
else if (osvidwMinorVersion == 1)
{
strMajor += _T("Windows XP ");
if( osviwSuiteMask & VER_SUITE_PERSONAL )
{
strMajor += _T( "Home Edition");
}
else
{
strMajor += _T( "Professional");
}
}
else if (osvidwMinorVersion == 0)
{
strMajor += _T("Windows 2000 ");
if ( osviwProductType == VER_NT_WORKSTATION )
{
strMajor += _T( "Professional");
}
else
{
if( osviwSuiteMask & VER_SUITE_DATACENTER )
{
strMajor += _T( "Datacenter Server");
}
else if( osviwSuiteMask & VER_SUITE_ENTERPRISE )
{
strMajor += _T( "Advanced Server");
}
else
{
strMajor += _T( "Server");
}
}
}
break;
default:
strMajor = _T("未知版本");
break;
}
}
CString strBuild;
if( _tcslen(osviszCSDVersion) > 0 )
{
strBuild = osviszCSDVersion;
}
CString strResult;
strResultFormat(_T("%s %s build %d"), strMajor, strBuild, osvidwBuildNumber);
AfxMessageBox(strResult);
C++代码,给你参考了
eclipse中升级api实质上是配置高版本的jdk。
1、找到window --> preferences选项,如图所示
2、在新d出界面选择Java --> Installed JREs,先不管当前的配置,选择ADD
注意:此处如果原来是jdk6,可以选择比6更高的7、8或者9
ADT(Android Development Tools): 目前Android开发所用的开发工具是Eclipse,在Eclipse编译IDE环境中,安装ADT,为Android开发提供开发工具的升级或者变更,简单理解为在Eclipse下开发工具的升级下载工具。adt只是一个eclipse的插件,里面可以设置sdk路径。可以没有ADT,但必须有SDK。ADT版本和Platform没有必然关系,(有一点儿,有些版本ADT只能安装在不同版本的Eclipse上),受SDK影响较大,基本上新版SDK发布之后,会有对应的ADT更新。
SDK(Software Development Kit): 一般是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、 *** 作系统等建立应用软件的开发工具的集合。在Android中,他为开发者提供了库文件以及其他开发所用到的工具。简单理解为开发工具包集合,是整体开发中所用到的工具包,如果你不用Eclipse作为你的开发工具,你就不需要下载ADT,只下载SDK即可开发。SDK可以自己编译,在linux环境下通过make命令进行,耗时比较长。然后我们可以把自己编译的SDK通过ADT导入eclipse。在此基础上可以对源码包进行修改,比如修改android system/app/phoneapk中的源码,然后再次调用make命令,就可以产生新的systemimage文件,此文件是镜像文件。
Android平台与SDK Tools版本、ADT版本的对应关系
Android平台 SDK Tools的版本 ADT版本
Android 22 R7 ADT-099
Android 23 R8 ADT-801
Android 30 预览版 R9 ADT-900
Android 30 R10 ADT-1000
Android 31 R11 ADT-1100
Android 32 R12 ADT-1200
Android 40 R14 ADT-1400
SDK 平台版本,以及API版本
Android平台 API 级别
Android 2011 API6
Android 21-update1 API7
Android 22 API8
Android 23 API9
Android 233 API10
Android 30 API11
Android 31 API12
Android 32 API13
Android 40 API14
以此类推
随着版本的更迭,应用程序编程接口(API)等级不断发生。
下面将目前为止所有API等级罗列出来,并与Android各版本一一对应。
API等级1:Android 10
API等级2:Android 11 Petit Four
API等级3:Android 15 Cupcake
API等级4:Android 16 Donut
API等级5:Android 20 Éclair
API等级6:Android 201 Éclair
API等级7:Android 21 Éclair
API等级8:Android 22 - 223 Froyo
API等级9:Android 23 - 232 Gingerbread
API等级10:Android 233-237 Gingerbread
API等级11:Android 30 Honeyb
API等级12:Android 31 Honeyb
API等级13:Android 32 Honeyb
API等级14:Android 40 - 402 Ice Cream Sandwich
API等级15:Android 403 - 404 Ice Cream Sandwich
API等级16:Android 41 Jelly Bean
API等级17:Android 42 Jelly Bean
API等级18:Android 43 Jelly Bean
API等级19:Android 44 KitKat
API等级20:Android 44W
API等级21:Android 50 Lollipop
API等级22:Android 51 Lollipop
API等级23:Android 60 Marshmallow
Linux内核API文档可以在官方网站上找到。Linux内核API文档包括内核函数、数据类型、宏定义等内容,可以在Linux官方网站的文档页面中找到。这些文档通常包含了针对不同内核版本的API接口,可以帮助开发人员编写和调试Linux内核驱动程序。另外,也可以通过阅读相关的书籍和网络教程来学习和理解Linux驱动开发的相关知识和技术。
以上就是关于VB6 API获取 *** 作系统类型全部的内容,包括:VB6 API获取 *** 作系统类型、eclipse中的API怎么升级、android 版本,sdk版本,adt版本,api版本 都是什么关系等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)