请问Delphi中如何获得Windows的版本?(100分)

  • 主题发起人 主题发起人 chinacc
  • 开始时间 开始时间
C

chinacc

Unregistered / Unconfirmed
GUEST, unregistred user!
我想在程序中判断用户所用的Windows是Win95、98、2000、NT还是Me。请问如何实现?
 
var
; MyVerInfo: TOSVersionInfo; ; ;// holds version information
begin
; {set the size member of the TOSVersionInfo structure}
; MyVerInfo.dwOSVersionInfoSize := SizeOf(TOSVersionInfo);

; {retrieve the operating system version information}
; GetVersionEx(MyVerInfo);

; {display the operating system version information}
; Panel2.Caption := IntToStr(MyVerInfo.dwMajorVersion);

; Panel3.Caption := IntToStr(MyVerInfo.dwMinorVersion);
; Panel4.Caption := IntToStr(MyVerInfo.dwBuildNumber);
; case MyVerInfo.dwPlatformId of
; ; VER_PLATFORM_WIN32s: ; ; ; ;Panel5.Caption := 'Win 32s under Windows 3.1';
; ; VER_PLATFORM_WIN32_WINDOWS: Panel5.Caption := 'Windows 95';
; ; VER_PLATFORM_WIN32_NT: ; ; ;Panel5.Caption := 'Windows NT';
; end;
end;

The Tomes of Delphi 3: Win32 Core API Help File by Larry Diehl
 
uses registry;
var
reg:tregistry;
s:string;
begin
reg:=tregistry.create;
reg.RootKey:=HKEY_LOCAL_MACHINE;
reg.OpenKey('/Software/Microsoft/Windows/CurrentVersion',false);
memo1.lines.add(reg.ReadString('versionnumber'));
memo1.lines.add(reg.readstring('version'));
 
上面二种都可以实现!读注册表或用一个API就行了, ;这么简单的问题, 以后多提些!
呵呵,,,
 
不用这么复杂


用一个sysutils单元的只读全局变量就可以了

不过具体的忘了!
 
查以前的帖子,很多答案的。
 
简单的问题,多提些?
vine是说Win32Platform吗?似乎不能分得这么细。
 
风中流云的方法在WIN2000下是无效的。
是不是在其它键下?
 
发工分咯。
 
后退
顶部