发新话题
打印

在Delphi编程中获取操作系统信息

在Delphi编程中获取操作系统信息

在Delphi编程中获取操作系统信息
    我们日常的编程中,常常会去判断用户所使用的操作系统是什么?为什么要这么做,因为:为了使应用程序适应不同的操作系统,能让它运行得更好!如在运行某个应用程序前,应先判断用户所使用的是WIN95/98,还是WIN NT。虽然这两个都是常用的操作系统,但在某些方面是完全不同的,在WIN95/98上运行得很好的程序不一定在WIN NT上也能运行得很好,所以不同的操作系统应有不同的程序代码以适应不同的需要,也为了使程序运行得更好更稳定。
那怎样才能知道用户使用的操作系统是什么呢?我们可以利用API函数来解决,方法如下:
首先做准备工作,新建工程,在PROM1上放上一个LABEL1(CAPTION为空)与一个BUTTON1(CAPTION为获取操作系统信息),其他属性不变,然后输入以下程序代码:

unit GETVER;
interface
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,  StdCtrls;
type
  TForm1 = class(TForm)
    Button1: TButton;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
VAR
  GETVER:OSVERSIONINFO;           //声明所需变量,具体内容请参考API函数说明文件。
  RETONGBOOL;
begin
  GETVER.dwOSVersionInfoSize:=148;
  RET:=GETVERSIONEX(GETVER);      //调用API函数判断开始
  IF  GETVER.dwPlatformId=VER_PLATFORM_WIN32_WINDOWS THEN
  LABEL1.Caption:='您使用的操作系统是:WINDOWS95/98';
  

IF GETVER.dwPlatformId=VER_PLATFORM_WIN32_NT THEN
    LABEL1.Caption:='您正使用的操作系统是:WINDOWS NT';  
end;   
end.
现在请运行一下(按F9),怎么样!是否成功?
不清楚的地方请与作者联系:zch619@hotmail.com,或者可以自己查看相应的API函数说明,笔者就不再重述了!
注:以上程序在WINDOWS 2000,DELPHI5.0版中调试通过。

TOP

发新话题