几个判断OS版本的函数

IsWin9x
Returns true if the operating system is on the Windows 9x platform or false if not.
function IsWin9x: Boolean;
begin
  Result := SysUtils.Win32Platform = Windows.VER_PLATFORM_WIN32_WINDOWS;
end;
Kind of Snippet: Routine
Required units: SysUtils, Windows.
Required snippets: None.
See also: IsWinNT, IsWow64, IsVista, IsWindows7, IsTabletOS, IsMediaCenterOS, [ Show All].
Supported Compilers:
 D2   D3   D4   D5   D6   D7  D2005
(Win32)
D2006
(Win32)
D2007 D2009
(Win32)
D2010
(Win32)
Free
Pascal
Windows 95, 98 and Me are all on the Windows 9x platform.
IsWinNT
Returns true if the operating system is on the Windows NT platform or false if not.
function IsWinNT: Boolean;
begin
  Result := (SysUtils.Win32Platform = Windows.VER_PLATFORM_WIN32_NT);
end;
Kind of Snippet: Routine
Required units: SysUtils, Windows.
Required snippets: None.
See also: IsVista, IsWindows7, IsWin9x, IsWow64, IsTabletOS, IsMediaCenterOS, [ Show All].
Supported Compilers:
 D2   D3   D4   D5   D6   D7  D2005
(Win32)
D2006
(Win32)
D2007 D2009
(Win32)
D2010
(Win32)
Free
Pascal
Windows NT, 2000, XP, Server 2003, Vista, Server 2008 and Windows 7 are all on the NT Platform.
IsWow64
Returns true if the current process is executing as a 32 bit process under WOW64 on 64 bit Windows.
function IsWow64: Boolean;
type
  TIsWow64Process = function( // Type of IsWow64Process API fn
    Handle: Windows.THandle; var Res: Windows.BOOL
  ): Windows.BOOL; stdcall;
var
  IsWow64Result: Windows.BOOL;      // Result from IsWow64Process
  IsWow64Process: TIsWow64Process;  // IsWow64Process fn reference
begin
  // Try to load required function from kernel32
  IsWow64Process := Windows.GetProcAddress(
    Windows.GetModuleHandle('kernel32.dll'), 'IsWow64Process'
  );
  if Assigned(IsWow64Process) then
  begin
    // Function is implemented: call it
    if not IsWow64Process(
      Windows.GetCurrentProcess, IsWow64Result
    ) then
      raise SysUtils.Exception.Create('IsWow64: bad process handle');
    // Return result of function
    Result := IsWow64Result;
  end
  else
    // Function not implemented: can't be running on Wow64
    Result := False;
end;
Kind of Snippet: Routine
Required units: SysUtils, Windows.
Required snippets: None.
See also: IsWin9x, IsWinNT, IsVista, IsWindows7, IsTabletOS, IsMediaCenterOS, [ Show All].
Supported Compilers:
 D2   D3   D4   D5   D6   D7  D2005
(Win32)
D2006
(Win32)
D2007 D2009
(Win32)
D2010
(Win32)
Free
Pascal
IsTabletOS
Returns true if the operating system is a Windows Tablet edition or false if not.
function IsTabletOS: Boolean;
const
  SM_TABLETPC = 86; // metrics flag not defined in Windows unit	
begin
  Result := Windows.GetSystemMetrics(SM_TABLETPC) <> 0;
end;
Kind of Snippet: Routine
Required units: Windows.
Required snippets: None.
See also: IsMediaCenterOS, IsWinNT, IsWin9x, IsWow64, IsVista, IsWindows7, [ Show All].
Supported Compilers:
 D2   D3   D4   D5   D6   D7  D2005
(Win32)
D2006
(Win32)
D2007 D2009
(Win32)
D2010
(Win32)
Free
Pascal
IsMediaCenterOS
Returns true if the operating system includes Windows Media Center or false if not.
function IsMediaCenterOS: Boolean;
const
  SM_MEDIACENTER = 87; // metrics flag not defined in Windows unit	
begin
  Result := Windows.GetSystemMetrics(SM_MEDIACENTER) <> 0;
end;
Kind of Snippet: Routine
Required units: Windows.
Required snippets: None.
See also: IsTabletOS, IsWinNT, IsWin9x, IsWow64, IsVista, IsWindows7, [ Show All].
Supported Compilers:
 D2   D3   D4   D5   D6   D7  D2005
(Win32)
D2006
(Win32)
D2007 D2009
(Win32)
D2010
(Win32)
Free
Pascal
IsWindows7
Returns true if the operating system is Windows 7 (or Windows Server 2008 R2) or later and false if not.
function IsWindows7: Boolean;
var
  PFunction: Pointer; // points to PowerCreateRequest function if exists
begin
  // Try to load PowerCreateRequest from Kernel32:
  // present if Windows 7 or Server 2008 R2
  PFunction := Windows.GetProcAddress(
    Windows.GetModuleHandle('kernel32.dll'), 'PowerCreateRequest'
  );
  Result := Assigned(PFunction);
end;
Kind of Snippet: Routine
Required units: Windows.
Required snippets: None.
See also: IsWin9x, IsWinNT, IsWow64, IsTabletOS, IsMediaCenterOS, IsVista, [ Show All].
Supported Compilers:
 D2   D3   D4   D5   D6   D7  D2005
(Win32)
D2006
(Win32)
D2007 D2009
(Win32)
D2010
(Win32)
Free
Pascal
Returns true even if the application has defined a Windows Vista (or other) compatibility mode.

 

你可能感兴趣的:(windows,function,server,OS,System,2010)