在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函数说明文件。
RET:LONGBOOL;
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版中调试通过。