如何知道当前的系统是Windows XP操作系统(UP 也有分)(50分)

  • 主题发起人 主题发起人 nbwzw
  • 开始时间 开始时间
N

nbwzw

Unregistered / Unconfirmed
GUEST, unregistred user!
最好有例子
 
特意给你实验了一下,一下函数,Me下是4.9,Win2000下是5.0,Windows XP下是5.1
procedure TForm1.Button1Click(Sender: TObject);
var
; WinVersion: DWORD;
; dwWindowsMajorVersion, dwWindowsMinorVersion: DWORD;
begin
; WinVersion := GetVersion();

; dwWindowsMajorVersion := LOBYTE(LOWORD(WinVersion));
; dwWindowsMinorVersion := HIBYTE(LOWORD(WinVersion));


; ShowMessage(Format('%d--%d',[dwWindowsMajorVersion,dwWindowsMinorVersion]));

end;
 
procedure GetBuildInfo(var V1, V2, V3, V4: Word);
var
VerInfoSize: DWORD;
VerInfo: Pointer;
VerValueSize: DWORD;
VerValue: PVSFixedFileInfo;
Dummy: DWORD;
begin
VerInfoSize := GetFileVersionInfoSize(PChar(ParamStr(0)), Dummy);
GetMem(VerInfo, VerInfoSize);
GetFileVersionInfo(PChar(ParamStr(0)), 0, VerInfoSize, VerInfo);
VerQueryValue(VerInfo, '/', Pointer(VerValue), VerValueSize);
with VerValue^ do
begin
V1 := dwFileVersionMS shr 16;

V2 := dwFileVersionMS and $FFFF;
V3 := dwFileVersionLS shr 16;
V4 := dwFileVersionLS and $FFFF;
end;
FreeMem(VerInfo, VerInfoSize);
end;
 
xp没有装过,但是为了分,UP一下:)
 
yzhshi可以试一试,不过很多系统级的软件在XP下不能用!
 
上面的代码在Windows Me、Windows 2000、Windows XP下都测试了,没问题,编译是在
Windows ME下进行的。
 
多人接受答案了。
 
后退
顶部