Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.22;
Скачать: CL | DM;

Вниз

Ключ реестра   Найти похожие ветки 

 
Anton777 ©   (2004-08-10 13:04) [0]

Подскажите пожалуйста ключ где храниться версия установленного на компьютере Windows?


 
Koster   (2004-08-10 13:10) [1]

а GetVersionEx() не устроит? правильнее ее юзать

для NT:


[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion]
"ProductName" и "CurrentBuildNumber"

но встречается и в других местах, причем не обязаны совпадать с реальной версией


 
MacroDenS ©   (2004-08-10 13:10) [2]

в 98 вроде здесь
HKEY_LOCALE_MACHINE\Software\microsoft\windows\CurrentVersion


 
Anton777 ©   (2004-08-10 13:59) [3]

Koster Попробовал но не могу что то разобраться плиз скинь текст как это сделать!


 
Koster   (2004-08-10 14:21) [4]

Сначала читай здесь:

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, а потом из реестра по двум указанным выше адресам реестра версию в виде строки читать.



Страницы: 1 вся ветка

Текущий архив: 2004.08.22;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.021 c
1-1091609075
Hereticsoul
2004-08-04 12:44
2004.08.22
вопрос по синтаксису....


6-1088090396
Dextor
2004-06-24 19:19
2004.08.22
Отправка звука


1-1092046114
Afonya
2004-08-09 14:08
2004.08.22
Создание парсера


14-1091451567
Иксик
2004-08-02 16:59
2004.08.22
Образование на Украине для Иностранца.


3-1089268594
Григорьев Антон
2004-07-08 10:36
2004.08.22
БД без СУБД