科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道应用软件通过API函数得到操作系统类型

通过API函数得到操作系统类型

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文实现通过API函数得到操作系统类型

作者:srw 来源:blog.csdn.net/srw  2007年9月15日

关键字: API 函数 操作系统 软件

  • 评论
  • 分享微博
  • 分享邮件
unit Unit1;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

StdCtrls, CommDlg;

type

TForm1 = class(TForm)

Button1: TButton;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

type

TOSVersion = (osUnknown, os95, os95OSR2, os98, os98SE, osNT3, osNT4, os2K, osME, osXP);

var

Form1: TForm1;

implementation

{$R *.DFM}

function GetOS :TOSVersion;

var

OS :TOSVersionInfo;

begin

ZeroMemory(@OS,SizeOf(OS));

OS.dwOSVersionInfoSize:=SizeOf(OS);

GetVersionEx(OS);

Result:=osUnknown;

if OS.dwPlatformId=VER_PLATFORM_WIN32_NT then begin

case OS.dwMajorVersion of

3: Result:=osNT3;

4: Result:=osNT4;

5: Result:=os2K;

end;

if (OS.dwMajorVersion=5) and (OS.dwMinorVersion=1) then

Result:=osXP;

end else begin

if (OS.dwMajorVersion=4) and (OS.dwMinorVersion=0) then begin

Result:=os95;

if (Trim(OS.szCSDVersion)='B') then

Result:=os95OSR2;

end else

if (OS.dwMajorVersion=4) and (OS.dwMinorVersion=10) then begin

Result:=os98;

if (Trim(OS.szCSDVersion)='A') then

Result:=os98SE;

end else

if (OS.dwMajorVersion=4) and (OS.dwMinorVersion=90) then

Result:=osME;

end;

end;

procedure TForm1.Button1Click(Sender: TObject);

var

os:TosVersion;

osVersion:string;

begin

os:=Getos;

case OS of

os95, os95OSR2: OSVersion:='Windows 95';

os98: OSVersion:='Windows 98';

os98SE: OSVersion:='Windows 98 第二版';

osME: OSVersion:='Windows Millenium Edition';

osNT3, osNT4: OSVersion:='Windows NT';

os2K: OSVersion:='Windows 2000';

osXP: OSVersion:='Windows XP';

end;

showmessage(osversion);

end;

end.

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章