精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● Delphi>>Windows API函数>>※※得到OS的类型※※

主题:※※得到OS的类型※※
发信人: objectpooling(Eugene)
整理人: teleme(2001-08-01 18:02:27), 站内信件
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. 
                              //---------------------2001-8-1 
                              //---------------------小米(宝祯) 




----
 标, 努 力 吧!     

[关闭][返回]