看流星社区

 找回密码
 注册账号
查看: 1960|回复: 0

c++ 判断操作系统

[复制链接]

该用户从未签到

发表于 2015-3-30 09:33:36 | 显示全部楼层 |阅读模式
// 判断操作系统.cpp : 定义控制台应用程序的入口点。
#include "stdafx.h"
#include <Windows.h>

void GetSystem()
{
    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))
    {
        MessageBox(NULL,_T("系统版本为 Windows 2000"),_T("ok"),MB_OK);
    }
    else if((i==5)&&(j==1))
    {
        MessageBox(NULL,_T("系统版本为 Windows XP"),_T("ok"),MB_OK);
    }
    else if((i==5)&&(j==2))

    {
        MessageBox(NULL,_T("系统版本为 Windows 2003"),_T("ok"),MB_OK);
    }
    else if((i==6)&&(j==0))
    {
        MessageBox(NULL,_T("系统版本为 Windows Vista"),_T("ok"),MB_OK);
    }
    else if((i==6)&&(j==1))
    {
        MessageBox(NULL,_T("系统版本为 Win7"),_T("ok"),MB_OK);
    }
}



int _tmain(int argc, _TCHAR* argv[])
{
        GetSystem();
        return 0;
}

在后面的学习中,发现 还有一个API函数可以获得系统类型
GetVersionExW
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-4-26 03:40

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

快速回复 返回顶部 返回列表