zoukankan      html  css  js  c++  java
  • C/C++ 获取系统版本

    获取版本代码:

    float getSysVersion(){
    
    	float f_ret;
    
    	typedef void(__stdcall*NTPROC)(DWORD*, DWORD*, DWORD*);
    	DWORD dwMajor, dwMinor, dwBuildNumber;
    	NTPROC proc = (NTPROC)GetProcAddress(
    		LoadLibrary("ntdll.dll"),
    		"RtlGetNtVersionNumbers"
    	); proc(&dwMajor, &dwMinor, &dwBuildNumber); 
    
    	// win 10
    	if (dwMajor == 10 && dwMinor == 0){
    		f_ret = dwMajor + dwMinor*0.1;
    		return f_ret;
    	}
    
    	// win 8.1
    	if (dwMajor == 6 && dwMinor == 3){
    		f_ret = dwMajor + dwMinor*0.1;
    		return f_ret;
    	}
    
    	// win 8.1 以下
    	SYSTEM_INFO info;
    	GetSystemInfo(&info);
    	OSVERSIONINFOEX os;
    	os.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
    	#pragma warning(disable:4996)
    	if(GetVersionEx((OSVERSIONINFO *)&os)){
    		f_ret = os.dwMajorVersion + os.dwMinorVersion*0.1;
    	}
    	
    	return f_ret;
    }
    

    效果图:

    获取 ReleaseId

    string get_systemReleaseId(){
    	
    	string releaseId = "";
    	HKEY hKey_return = NULL;
    	char keyValue[256];
        DWORD keySzType;
        DWORD keySize;
    
    	if(ERROR_SUCCESS != RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\",0,KEY_READ,&hKey_return)){
    		cout << "RegOpenKeyEx failed." << endl;
    		goto end;
    	}
    	
    	if(ERROR_SUCCESS != RegQueryValueEx(hKey_return,"ReleaseId",0,&keySzType,(LPBYTE)&keyValue,&keySize)){
    		cout << "RegQueryValueEx failed." << endl;
    		goto end;
    	}
    	
    	releaseId = keyValue;
    	
    end:
    	return releaseId;
    }
    


    版权声明: 本博客,文章与代码均为学习时整理的笔记,博客中除去明确标注有参考文献的文章,其他文章【均为原创】作品,转载请务必【添加出处】,您添加出处是我创作的动力!

    警告:如果您恶意转载本人文章,则您的整站文章,将会变为我的原创作品,请相互尊重!
  • 相关阅读:
    apply call bind方法的区别和含义
    html头部meta标签
    语义化标签
    “文件名和url路径名”命名要点以及大小写问题
    BMP GIF PNG JPG等图片格式的区别和适用情况
    前端页面的性能优化
    js阻止默认事件,如a标签跳转和事件冒泡
    散列碰撞问题的解决——开链法(拉链法)
    substring()方法
    对学生成绩进行散列
  • 原文地址:https://www.cnblogs.com/LyShark/p/15019661.html
Copyright © 2011-2022 走看看