您的位置:首页 > 其它

几个判断OS版本的函数

2010-03-10 19:46 330 查看
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)
D2007D2009
(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)
D2007D2009
(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)
D2007D2009
(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)
D2007D2009
(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)
D2007D2009
(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)
D2007D2009
(Win32)
D2010
(Win32)
Free
Pascal












Returns true even if the application has defined a Windows Vista (or other) compatibility mode.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: