用api函数编程获取系统版本,要程序,比如程序运行后出来结果是win7或xp

我不是计算机专业的,就要一个完整的程序,c或c++都可以,跪求
2024-12-27 01:28:41
推荐回答(3个)
回答1:

参考如下程序,主要API是GetVersionEx,但是你需要自己知道Win7和XP的version的值来判断到底是什么系统

#include 
#include
using namespace std;
int main() 

OSVERSIONINFOEX osver; 
osver.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX); 
//获取版本信息 
if (! GetVersionEx((LPOSVERSIONINFO)&osver)) 

cout<<"Error:"<
     //打印版本信息 
cout<<"System info:"<cout<<"Version:"<<<" Build "<<<" Service Pack "<<if (osver.dwMajorVersion >= 5 && osver.dwMajorVersion < 6)
{
    cout<<"This is XP"<}
else if (osver.dwMajorVersion > 6.0)
{
    cout<<"This is Win7 or above"<}
else
{
    cout<<"This is Win2000 or previous version"<}
system("pause"); 
}

回答2:

新建一个MFC对话框程序,画一个按钮,响应函数如下:

void CShowOSVersionDlg::OnButton1()
{
    DWORD iMajor=0,iMinor=0;
    OSVERSIONINFOEX osinfo;
    osinfo.dwOSVersionInfoSize=sizeof(OSVERSIONINFOEX);
    GetVersionEx((OSVERSIONINFO *)&osinfo);
    iMajor=osinfo.dwMajorVersion;
    iMinor=osinfo.dwMinorVersion;
    CString strTemp("Your OS is ");
    if(6==iMajor && 1==iMinor)strTemp += "WIN7";
    if(5==iMajor && 1==iMinor)strTemp += "WINXP";
    GetDC()->TextOut(0,0,strTemp);
}

这个只是个例子,实际中6.1版本不止可能是WIN7还可能是Windows Server 2008 R2。抛砖引玉,你自己看一下各个版本的版本号,和OSVERSIONINFOEX结构。

回答3:

看如下网址的代码
http://blog.sina.com.cn/s/blog_6d7937b10100tvjv.html