![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ключ реестра
Anton777 © (2004-08-10 13:04:00)Подскажите пожалуйста ключ где храниться версия установленного на компьютере Windows?
Koster (2004-08-10 14:21:00) [1]Сначала читай здесь:
http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=15-988622288
Потом пиши что-то типа того:
Function GetOSName : string;
var
VI : TOSVersionInfo;
IsOSNT, IsOSW2K,
IsOS95, IsOSOSR2,IsOS98 : boolean;
begin
FillChar(VI, SizeOf(VI), 0);
VI.dwOSVersionInfoSize := SizeOf(VI);
GetVersionEx(VI);
// Проверка и расшифровка версии и платформы
IsOS95 := (VI.dwMajorVersion>=4) and (VI.dwMinorVersion=0) and (VI.dwPlatformId=VER_PLATFORM_WIN32_WINDOWS);
IsOS98 := (VI.dwMajorVersion >= 4) and (VI.dwMinorVersion>0) and (VI.dwPlatformId=VER_PLATFORM_WIN32_WINDOWS);
IsOSOSR2 := (VI.dwMajorVersion >= 4) and (VI.dwMinorVersion=0) and (lo(VI.dwBuildNumber)>1000) and (VI.dwPlatformId=VER_PLATFORM_WIN32_WINDOWS);
IsOSW2K := (VI.dwMajorVersion >= 5) and (VI.dwPlatformId=VER_PLATFORM_WIN32_NT);
IsOSNT := (VI.dwPlatformId = VER_PLATFORM_WIN32_NT) and not(IsOSW2K);
// Формирование названия ОС
Result:='Неизвестная ОС';
if IsOS95 then
Result:='Windows 95';
if IsOSOSR2 then
Result:='Windows 95 OSR2';
if IsOS98 then
Result:='Windows 98';
if IsOSW2K then
Result:='Windows 2000 Build '+inttostr(VI.dwBuildNumber);
if IsOSNT then
Result:='Windows NT '+inttostr(VI.dwMajorVersion)+'.'+inttostr(VI.dwMinorVersion);
end;
Еще бы неплохо сюда Windows XP добавить.
Сам не разберешься - поищи по инету, таких примеров полно, или используй этот.
Ну или через реестр, если надо только название версии выковырять.
Сначала определить , NT у нас или 9x, а потом из реестра по двум указанным выше адресам реестра версию в виде строки читать.
Anton777 (2004-08-10 13:59:00) [2]Koster Попробовал но не могу что то разобраться плиз скинь текст как это сделать!
Koster (2004-08-10 13:10:00) [3]а
GetVersionEx()не устроит? правильнее ее юзать
для NT:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion]
"ProductName" и "CurrentBuildNumber"
но встречается и в других местах, причем не обязаны совпадать с реальной версией
MacroDenS (2004-08-10 13:10:00) [4]в 98 вроде здесь
HKEY_LOCALE_MACHINE\Software\microsoft\windows\CurrentVersion