用api函数编程获取系统版本,要程序,比如程序运行后出来结果是win7或xp
发布网友
发布时间:2023-03-29 20:56
我来回答
共3个回答
热心网友
时间:2023-11-23 12:55
参考如下程序,主要API是GetVersionEx,但是你需要自己知道Win7和XP的version的值来判断到底是什么系统
#include <windows.h>
#include <iostream>
using namespace std;
int main()
{
OSVERSIONINFOEX osver;
osver.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
//获取版本信息
if (! GetVersionEx((LPOSVERSIONINFO)&osver))
{
cout<<"Error:"<<GetLastError()<<endl;
}
//打印版本信息
cout<<"System info:"<<endl;
cout<<"Version:"<<osver.dwMajorVersion<<"."<<osver.dwMinorVersion
<<" Build "<<osver.dwBuildNumber
<<" Service Pack "<<osver.wServicePackMajor<<"."
<<osver.wServicePackMinor<<endl;
if (osver.dwMajorVersion >= 5 && osver.dwMajorVersion < 6)
{
cout<<"This is XP"<<endl;
}
else if (osver.dwMajorVersion > 6.0)
{
cout<<"This is Win7 or above"<<endl;
}
else
{
cout<<"This is Win2000 or previous version"<<endl;
}
system("pause");
}
热心网友
时间:2023-11-23 12:56
新建一个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结构。
热心网友
时间:2023-11-23 12:56
看如下网址的代码
http://blog.sina.com.cn/s/blog_6d7937b10100tvjv.html