问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

用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
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
土地入股的定义 ups快递客服电话24小时 贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 安徽省徽商集团有限公司经营理念 2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 体育理念体育理念 有关体育的格言和理念 求助API拦截在WindowXP功能正常,WIN7下没有效果 vb.net 在 win2000,winxp,win7 几个系统下调用api的方法有哪些不同 奥米克兰砖侧面有印字吗 请问减肥能吃甘蔗吗晚上? 银行业变天,银行员工坚守or跳槽?好去处是哪里 捐廉的解释 留却与留取区别在那里? 皋圃的诗句皋圃的诗句是什么 松子有何价值营养,经常食用会好吗? 吃什么增强抵抗力,科学营养助力身体健康 牙刷刷牙的结构关系不同这是有什么的不同来表达的 刷箒的解释 什么叫做第三者责任险 梦见以前不可能发生过的事的预兆 梦见一些不可能的事的预兆 入山不怕人面虎,只怕人情两面刀的生肖? 人情两面光打一生肖守株待兔打一生肖 赛马场 英语怎么说 荣耀十八代hr真特利迦稀有还是泽塔泽尔塔天爪稀有 打印机对人体有辐射吗? win7 + xp双系统会不会存在以下问题: 1.安装软件时安装程序不能识别系统盘。 如写程序时会经常调用API... xp加win7系统,启动win7时显示要重新安装 ADVAPI32.II该怎么办? WIN7 和XP 以及VISTA 系统下分别如何设置双工半双工模式,谢谢 win7 32位 api-ms-win-crt-runtime-|1-1-0.dll丢失,怎么修复 XP上运行无问题的程序为何在Win7下运行就不好用了? 我的移动手机号绑定了电视怎么电话费用一下就升高了 itv绑定的手机号扣费 有线电视预留手机号要交话费吗 联通宽带绑定手机电视包月收费199元,费用怎么这么高?有低点的吗? 老鼠的同类吃玉米和土豆的叫什么 My motto:I reject smoking,no reason to myself! 座右铭:我谢绝香烟,不给自己任何理由! 云霞生则爨烟绝矣中绝的意思 用什么诗句来形容老人的身子骨比年轻人还壮实 描写身子骨头比年轻人还壮实的诗句 东北大学王牌专业全国排名 有关利益的名言集锦 vivowatch2怎么打开应用商店 怎么开通爱奇艺 家里的柜子做了红色不喜欢怎么办 在家怎么样做红萝卜和尖椒饺子?