mfc判断操作系统

转载连接:http://blog.csdn.net/dezhihuang/article/details/50487437


CString getOSName()  
{  
    CString osName = _T("");  
    int a=0,b=0,i=0,j=0;    
    _asm    
    {    
        pushad    
            mov ebx,fs:[0x18] ; get self pointer from TEB    
            mov eax,fs:[0x30] ; get pointer to PEB / database    
            mov ebx,[eax+0A8h] ; get OSMinorVersion    
            mov eax,[eax+0A4h] ; get OSMajorVersion    
            mov j,ebx    
            mov i,eax    
            popad    
    }    
  
    if((i==5)&&(j==0))    
    {    
        osName = _T("当前系统版本为:Windows 2000");    
    }    
    else if((i==5)&&(j==1))    
    {     
        osName = _T("当前系统版本为:Windows XP");    
    }    
    else if((i==5)&&(j==2))    
    {    
        osName = _T("当前系统版本为:Windows 2003");    
    }    
    else if((i==6)&&(j==0))    
    {    
        osName = _T("当前系统版本为:Windows Vista");    
    }    
    else if((i==6)&&(j==1))    
    {    
        osName = _T("当前系统版本为:Windows 7");    
    }  
    else if((i==6)&&(j==2))    
    {    
        osName = _T("当前系统版本为:Windows 8");    
    }  
    else if((i==6)&&(j==3))    
    {    
        osName = _T("当前系统版本为:Windows 8.1");    
    }  
    else if((i==10)&&(j==0))    
    {    
        osName = _T("当前系统版本为:Windows 10");    
    }  
    else  
    {  
        osName = _T("当前系统低于Windows 2000,或者高于Windows 10,或者未知系统版本");  
    }  
    return osName;  
}  


经验证,此代码在win10下运行无误

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值