如何判断当前操作系统??UP有分!!

bengbeng24 2002-10-22 08:53:04
如何判断当前操作系统??并返回值???
...全文
101 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
角落的青苔 2002-10-23
  • 打赏
  • 举报
回复
这个只是参考~~~~
**********************************
//判断操作系统
function TFuncs.OsIs:Integer;
begin
case Win32Platform of
VER_PLATFORM_WIN32s: Result:=32;
VER_PLATFORM_WIN32_WINDOWS: Result:=98;
VER_PLATFORM_WIN32_NT: Result:=2000;
else Result:=0;
end;
end;
角落的青苔 2002-10-23
  • 打赏
  • 举报
回复
这个只是参考~~~~
**********************************
//判断操作系统
function TFuncs.OsIs:Integer;
begin
case Win32Platform of
VER_PLATFORM_WIN32s: Result:=32;
VER_PLATFORM_WIN32_WINDOWS: Result:=98;
VER_PLATFORM_WIN32_NT: Result:=2000;
else Result:=0;
end;
end;
sanjianxia 2002-10-23
  • 打赏
  • 举报
回复
采用API函数:GetVersionEX
参数请看帮助系统。
shanxia 2002-10-23
  • 打赏
  • 举报
回复
up!
guorui_wh 2002-10-23
  • 打赏
  • 举报
回复
up
lovedata 2002-10-23
  • 打赏
  • 举报
回复
楼上的例子很好了
lf43 2002-10-23
  • 打赏
  • 举报
回复
GetversionEX
xjkiller 2002-10-23
  • 打赏
  • 举报
回复
up
lyedit 2002-10-23
  • 打赏
  • 举报
回复
up!
学东西!
qxj 2002-10-23
  • 打赏
  • 举报
回复
up
windofsun 2002-10-23
  • 打赏
  • 举报
回复
判断操作系统,除了用API以外,Delphi已经提供了一个简单的方法:SystUtils单元有一个全局变量Win32PlatForm,你可以直接在代码里面判断它的值确认操作系统类型。

它的值的含义如下:

Value Meaning

VER_PLATFORM_WIN32s System is Win32s.
VER_PLATFORM_WIN32_WINDOWS System is Windows 95.
VER_PLATFORM_WIN32_NT System is Windows NT.
boynicky 2002-10-23
  • 打赏
  • 举报
回复
学习中
dicke 2002-10-23
  • 打赏
  • 举报
回复
UP
My_first 2002-10-22
  • 打赏
  • 举报
回复
其它上面的就可以了。

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

Function IsNT(var OS:string): boolean;//判断是否是NT系统
Function GetOS :TOSVersion; //获得操作系统

//获取操作系统
function GetOS;
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: begin
if OS.dwMinorVersion>=1 then
Result:=osXP
else
Result:=os2K;
end;
end;
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;

//判断是否时NT系统
function IsNT(var OS:string): boolean;
var
OSVI :TOSVersion;
begin
OS:='不知道';
OSVI:=GetOs;
if OSVI=osNT3
then OS:='Window NT3';
if OSVI=OSNT4
then OS:='Window NT4';
if OSVI=os2K
then OS:='Winodw 2000';
if OSVI=os95
then OS:='Window 95';
if OSVI=os95OSR2
then OS:='Window 97';
if OSVI=os98
then OS:='Winodw 98';
if OSVI=os98SE
then OS:='Winodw 98SE';
if OSVI=osME
then OS:='Winodw ME';
Result:=GetOS in [osNT3,osNT4,os2K,osXP];
end;
bengbeng24 2002-10-22
  • 打赏
  • 举报
回复
麻烦,请举个例子!!
广州接入 2002-10-22
  • 打赏
  • 举报
回复
使用WindowsAPI函数.GetversionEX.
procedure GetVersionEX(var vi:TOSVersionInfo);
TOSVersionInfo = Record
dwOsVersionInfoSize :DWord;//参数大小
dwMajorVersion : DWORD;//主版本号
dwMinorVersion : DWORD;//副版本号
dwBuildNumber: DWORD;//操作系统的建立序号
dwPlatFormID : DWORD;//平台标志.
szCSDVErsion : array[0..126] of AnsiChar;
end;
lxlsky 2002-10-22
  • 打赏
  • 举报
回复
up

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧