VC/MFC 判断操作系统
来源:互联网 发布:淘宝vip福利群 编辑:程序博客网 时间:2024/05/21 11:03
在PEB结构中存放着操作系统版本信息的函数,
ULONG OSMajorVersion; // A4h 偏移地址a4h显示操作系统主版本号
ULONG OSMinorVersion; // A8h 偏移地址a8h显示操作系统子版本号
通过读取OSMajorVersion和OSMinorVersion的数据能够确定操作系统的版本。
FS段寄存器指向当前的TEB结构,在TEB偏移0x30处是PEB指针,通过这个指针可以取得存放在PEB中的信息。
不同的操作系统,版本信息的存放的位置是不同的,其中
2000 0X0500
XP 0X0501
2003 0X0502
VISTA 0X0600
Win7 0X0601
这样根据这些信息我们可以通过不调用API函数来获取操作系统的版本信息。
void XXX::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))
{
AfxMessageBox(_T("系统版本为 Windows 2000"),MB_OK);
}
else if((i==5)&&(j==1))
{
AfxMessageBox(_T("系统版本为 Windows XP"),MB_OK);
}
else if((i==5)&&(j==2))
{
AfxMessageBox(_T("系统版本为 Windows 2003"),MB_OK);
}
else if((i==6)&&(j==0))
{
AfxMessageBox(_T("系统版本为 Windows Vista"),MB_OK);
}
else if((i==6)&&(j==1))
{
AfxMessageBox(_T("系统版本为 Win7"),MB_OK);
}
}
- VC/MFC 判断操作系统
- VC/MFC 判断操作系统
- VC/MFC 判断操作系统
- mfc判断操作系统
- VC判断操作系统
- vc判断操作系统类型
- (VC,MFC) 检测操作系统版本
- VC判断windows操作系统语言
- VC 判断 Windows 操作系统版本
- 用VC判断软件使用的操作系统
- VC中最简便判断操作系统版本的方法
- VC判断操作系统为Win7的最简单代码!
- VC(MFC)判断文件/目录是否存在
- VC(MFC)判断文件/目录是否存在,创建目录
- C++ 常用代码001 IsValidFileName VC/MFC 判断有效文件名
- 判断操作系统
- 判断操作系统
- VC/MFC
- RSA算法原理(一)
- ubunt recovery模式下,获得写权限
- HTTP协议:状态码详解
- 什么的图形化编程软件能编写控制硬件设备的程序的?
- 继承访问控制
- VC/MFC 判断操作系统
- spring_webservice_rmi配置示例
- 二叉树的先序、中序、后序遍历的递归和非递归实现
- C#中几种换行符
- 一个奇怪的listview
- js 上移 下移 左移 右移
- win7 刻录光盘
- static和final关键字
- 探索 ConcurrentHashMap 高并发性的实现机制