我这里有一个!!可以使用的!我自己在用.
Function winversion(flag:integer):string;
//得到windows名称及版本号
//flag=1 版本号
//flag=2 名称
var
OSVersion: TOSVersionInfo;
FPlatformID: DWord;
FPlatform: String;
winver,winname:string;
begin
OSVersion.dwOSVersionInfoSize := SizeOf(OSVersion);
if GetVersionEx(OSVersion) then
begin
winver:= Format('%d.%d (%d.%s)',[OSVersion.dwMajorVersion, OSVersion.dwMinorVersion,(OSVersion.dwBuildNumber and $FFFF), OSVersion.szCSDVersion]);
FPlatformID:= OSVersion.dwPlatformID;
case FPlatformID{OSVersion.dwPlatformID} of
VER_PLATFORM_WIN32s: FPlatform := 'Windows 3.X';
VER_PLATFORM_WIN32_WINDOWS:
begin
if (OSVersion.dwMajorVersion=4) and (OSVersion.dwMinorVersion=0) then
FPlatform := 'Windows 95';
if (OSVersion.dwMajorVersion=4) and (OSVersion.dwMinorVersion=10) then
FPlatform := 'Windows 98';
if (OSVersion.dwMajorVersion=4) and (OSVersion.dwMinorVersion=90) then
FPlatform := 'Windows ME';
end;
VER_PLATFORM_WIN32_NT:
begin
if (OSVersion.dwMajorVersion=5) and (OSVersion.dwMinorVersion=00) then
FPlatform := 'Windows 2000'
else
FPlatform := 'Windows NT';
end;
else FPlatform := '';
end; //of case
end; //of if
winname :=FPlatform;
case flag of
1:result:=winver;
2:result:=winname;
end;
winversion:=result;
end;