当前位置: 首页 > news >正文

贵德县公司网站建设/海外品牌推广

贵德县公司网站建设,海外品牌推广,房地产营销案例100例,软件开发工具包什么意思今天测试了WIN8, WIN8.1, WIN10 系统下GetVersionEx 函数,居然取出来的版本都是6.2 。 于是网上查找各种获取内核版本号的方法, 终于找到几种有用的方法, 记录下来以作备忘。方法1: GetVersionEx, 该方法在WIN8.1以后无效 参看&am…

今天测试了WIN8, WIN8.1, WIN10 系统下GetVersionEx 函数,居然取出来的版本都是6.2 。 于是网上查找各种获取内核版本号的方法, 终于找到几种有用的方法, 记录下来以作备忘。
方法1: GetVersionEx, 该方法在WIN8.1以后无效 参看: https://msdn.microsoft.com/en-us/library/ms724451.aspx
procedure TForm1.Button1Click(Sender: TObject);
var
str : string;
ss : TStringStream;
buf: array[0..6] of byte;
OSVI : OSVERSIONINFO;
version : string;
begin
OSVI.dwOSversioninfoSize:=Sizeof(OSVERSIONINFO);
GetVersionEx(OSVI);
Edit4.Text := IntToStr(OSVI.dwMajorVersion) + ','
+IntToStr(OSVI.dwMinorVersion)+ ','
+IntToStr(OSVI.dwBuildNumber)+ ','
+IntToStr(OSVI.dwPlatformId)+ ',' +OSVI.szCSDVersion;
end;

方法2: 通过FWMIService查询系统表Win32_OperatingSystem, 该方法可以正常读取系统版本WIN8(6.2), WIN81(6.3), WIN10(10)

function GetWMIProperty(WMIType, WMIProperty: string): string;
const
WbemUser ='';
WbemPassword ='';
WbemComputer ='localhost';
var
FSWbemLocator, FWMIService, FWbemObjectSet, Obj: OleVariant;
C: Cardinal;
i,Len:integer;
tempItem:IEnumVariant;
count : integer;
msg : string;
begin
try
result := '';
FSWbemLocator:= CreateOleObject('WbemScripting.SWbemLocator');
FWMIService := FSWbemLocator.ConnectServer(WbemComputer, 'root\CIMV2', WbemUser, WbemPassword);
FWbemObjectSet := FWMIService.ExecQuery('Select * from Win32_' + WMIType);
tempItem := IEnumVariant(IUnknown(FWbemObjectSet._NewEnum));
Result:='';
count := 0;
while (tempItem.Next(1, obj, c) = S_OK) do
begin
Obj := Obj.Properties_.Item(WMIProperty, 0).Value;
if not VarIsNull(obj) then
begin
if(count > 0) then
result := result + ',';
Result := Result + trim(Obj);
Inc(count);
end;
end;
except
On E : Exception do
begin
msg := Format('GetWMIProperty Error,WMIType:%s, WMIProperty:%s, Msg:%s',
[WMIType, WMIProperty, E.ToString]);
ShowMessage(msg);
end;
end;
if(lowercase(result) = 'none') then
result := '';
end;
调用 : GetWMIProperty('OperatingSystem', 'Version');

方法3:通过ntdll.dll , NetServerGetInfo函数获取内核版本

program Project5;

{$APPTYPE CONSOLE}


uses
SysUtils, Windows;


type
NET_API_STATUS = DWORD;


_SERVER_INFO_101 = record
sv101_platform_id: DWORD;
sv101_name: LPWSTR;
sv101_version_major: DWORD;
sv101_version_minor: DWORD;
sv101_type: DWORD;
sv101_comment: LPWSTR;
end;
SERVER_INFO_101 = _SERVER_INFO_101;
PSERVER_INFO_101 = ^SERVER_INFO_101;
LPSERVER_INFO_101 = PSERVER_INFO_101;


const
MAJOR_VERSION_MASK = $0F;


function NetServerGetInfo(servername: LPWSTR; level: DWORD; var bufptr): NET_API_STATUS; stdcall; external 'Netapi32.dll';
function NetApiBufferFree(Buffer: Pointer): NET_API_STATUS; stdcall; external 'Netapi32.dll';

type
pfnRtlGetVersion = function(var RTL_OSVERSIONINFOEXW): LongInt; stdcall;
var
Buffer: PSERVER_INFO_101;
ver: RTL_OSVERSIONINFOEXW;
RtlGetVersion: pfnRtlGetVersion;
begin
Buffer := nil;
// Win32MajorVersion and Win32MinorVersion are populated from GetVersionEx()...
WriteLn(Format('GetVersionEx: %d.%d', [Win32MajorVersion, Win32MinorVersion])); // shows 6.2, as expected per GetVersionEx() documentation


@RtlGetVersion := GetProcAddress(GetModuleHandle('ntdll.dll'), 'RtlGetVersion');
if Assigned(RtlGetVersion) then
begin
ZeroMemory(@ver, SizeOf(ver));
ver.dwOSVersionInfoSize := SizeOf(ver);


if RtlGetVersion(ver) = 0 then
WriteLn(Format('RtlGetVersion: %d.%d', [ver.dwMajorVersion, ver.dwMinorVersion])); // shows 10.0
end;


if NetServerGetInfo(nil, 101, Buffer) = NO_ERROR then
try
WriteLn(Format('NetServerGetInfo: %d.%d', [Buffer.sv101_version_major and MAJOR_VERSION_MASK, Buffer.sv101_version_minor])); // shows 10.0
finally
NetApiBufferFree(Buffer);
end;
ReadLn;
end.

转载于:https://www.cnblogs.com/blogpro/p/11453907.html

http://www.jmfq.cn/news/5002903.html

相关文章:

  • 南昌做网站seo/简单网页设计模板html
  • wordpress 答题/沈阳关键词seo
  • 中铁建设集团门户网登录入口官网/seo代码优化步骤
  • 网上做论文的网站有哪些内容/廊坊关键词排名首页
  • 邯郸网站建设地方/开发一个网站需要哪些技术
  • 个人主页网站设计/网络广告营销对应案例
  • 网站建设要用H5吗/个人网站免费域名注册
  • 做网站界面/google 浏览器
  • 怎么注销建设银行网站用户名/做网络推广有前途吗
  • 网站一次性链接怎么做/网站seo搜索引擎优化案例
  • o2o营销模式/洛阳搜索引擎优化
  • clo3d代做网站/常熟网络推广
  • 深圳制作网站的公司简介/网站seo方案策划书
  • 网站怎样做https/优化软件下载
  • 青岛天河小学网站建设/宁波seo外包方案
  • 百度网页版官方/优化推广公司哪家好
  • 珠海专业网站建设/提高百度快速排名
  • 手机网站做多宽的图片/谷歌官方网站
  • 百度网站地图/专业网络推广公司排名
  • 建设银行的网站首页/公司员工培训方案
  • 中国人民共和国住房和城乡建设部网站/seo关键词库
  • 个人能免费做网站/友情链接例子
  • 国家知识产权局商标局/沈阳百度快照优化公司
  • 网站挑错/韶山百度seo
  • dw建网站具体步骤/360站长工具seo
  • 上海网页设计公司排行/网站优化公司
  • 品牌高端网站制作公司/营销网站seo推广
  • 百度不收录哪些网站吗/北京seo代理公司
  • wordpress 插件本地化/上海关键词优化公司bwyseo
  • 百度网站自然排名优化/自动引流推广app