VCMFC程序中获取当前Windows操作系统版本名称(2016-04-25修改)

CString getOSName(){CString osName = _T("");int a=0,b=0,i=0,j=0;_asm{pushadmov ebx,fs:[0x18] ; get se

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");  
	

发布者:admin,转转请注明出处:http://www.yc00.com/web/1748347100a4766643.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信