在DELPHI编程中获取操作系统信息
我们日常的编程中,常常会去判断用户所使用的操作系统是什么?为什么要这么做,因为:为了使应用程序适应不同的操作系统,能让它运行得更好!如在运行某个应用程序前,应先判断用户所使用的是WIN95/98,还是WIN NT。虽然这两个都是常用的操作系统,但在某些方面是完全不同的,在WIN95/98上运行很好的程序不一定在WIN NT上也运行得很好,所以不同的操作系统应有不同的程序代码以适应不同的需要,也为了使程序运行得更好更稳定。
那怎样才能知道用户使用的操作系统是什么呢?我们可以利用API函数来解决,方法如下:
首先做准备工作,新建工程,在FORM1上放上一个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),怎么样!是否成功?
不清楚的地方请查看相应的API函数说明,笔者就不再赘述了!
注:以上程序在中文WINDOWS98,DELPHI4.0 C/S版中调试通过。