![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
WinAPI GetVersionEx [D7, Win95/98, WinME, NT4, Win2k, WinXP]
SergeyGood © (2005-06-05 11:59:00)Не могу разобраться с GetVersionEx, мне нужно, чтобы при запуске программы на Label1 отображалось например Windows XP Professional, а на Label2 Номер билда Windows. Помогите люди добрые. Спасибо!
Хинт (2005-06-05 12:24:00) [1]function GetOS: String;
var
PlatformId, VersionNumber: string;
CSDVersion: String;
begin
CSDVersion := '';
case Win32Platform of
VER_PLATFORM_WIN32_WINDOWS:
begin
if Win32MajorVersion = 4 then
case Win32MinorVersion of
0: if (Length(Win32CSDVersion) > 0) and
(Win32CSDVersion[1] in ['B', 'C']) then
PlatformId := '95 OSR2'
else
PlatformId := '95';
10: if (Length(Win32CSDVersion) > 0) and
(Win32CSDVersion[1] = 'A') then
PlatformId := '98 SE'
else
PlatformId := '98';
90: PlatformId := 'ME';
end
else
PlatformId := '9x version (unknown)';
end;
// Test for the Windows NT product family
VER_PLATFORM_WIN32_NT:
begin
if Length(Win32CSDVersion) > 0 then CSDVersion := Win32CSDVersion;
if Win32MajorVersion <= 4 then
PlatformId := 'NT'
else
if Win32MajorVersion = 5 then
case Win32MinorVersion of
0: PlatformId := '2000';
1: PlatformId := 'XP';
2: PlatformId := 'Server 2003';
else
PlatformId := 'Future Windows version (unknown)';
end
else
PlatformId := 'Future Windows version (unknown)';
end;
end;
VersionNumber := Format(' Version %d.%d Build %d %s', [Win32MajorVersion,
Win32MinorVersion,
Win32BuildNumber,
CSDVersion]);
Result := 'Windows ' + PlatformId + VersionNumber;
MI.OS:=Result;
end;
Ученик (2005-06-05 12:17:00) [2]>SergeyGood © (05.06.05 11:59)
Для NT, 2000, XP, 2003 можно отсюда
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion