Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Неверное определение версии Windows [WinXP]


Psychedelic ©   (2006-08-15 20:50:00) 

Функция GetVersionEx . На WinXP PRO возвращает минор - 0, хотя должно быть - 1 . Другие параметры правильные.. В чем дело?!


Psychedelic   (2006-08-17 19:04:00) [1]

Пожалуйста. Но причина не в коде....
function WinVer : TWindowsVersion;
{* Returns Windows version. }
var OVI: TOsVersionInfo;
begin
 if SaveWinVer <> $FF then Result := TWindowsVersion( SaveWinVer )
 else
 begin
   OVI.dwOSVersionInfoSize := Sizeof( OVI );
   GetVersionEx( OVI );
   with OVI do
   if dwPlatformId = VER_PLATFORM_WIN32_NT then
   begin
     Result := wvNT;
     if dwMajorVersion >= 6 then
       Result := wvLongHorn
     else begin
            if dwMajorVersion >= 5 then
              if dwMinorVersion >=1 then
                Result := wvXP
              else
                Result := wvY2K;
          end;
   end
      else
   if dwPlatformId = VER_PLATFORM_WIN32_WINDOWS then
   begin
     Result := wv95;
     if (dwMajorVersion > 4) or (dwMajorVersion = 4)
     and (dwMinorVersion >= 10)  then
       Result := wv98;
   end
      else
      Result := wv31; // Windows 3.1 (WIN32s)
   SaveWinVer := Ord( Result );
 end;
end;


begin...end   (2006-08-17 17:53:00) [2]

> Psychedelic ©   (17.08.06 17:20) [4]
> Это код из KOL  - процедура GetWINDOWSVer.

Я извиняюсь, но нельзя ли этот код выложить здесь?


Psychedelic   (2006-08-17 17:20:00) [3]

ДА. Это код из KOL  - процедура GetWINDOWSVer. На всех компах нормально, только на одном такая ерунда...


begin...end   (2006-08-15 21:58:00) [4]

> Psychedelic ©   (15.08.06 21:55) [2]

А... Всё понятно, значит... Ну, тады ладно...

Поле OSVERSIONINFO.dwOSVersionInfoSize перед вызовом GetVersionEx проинициализировано?


Psychedelic   (2006-08-15 21:55:00) [5]

Тут и приводить ничего не надо, и так все понятно... На одном компьютере все ок. НА компьютере у друга такая ерунда.


begin...end   (2006-08-15 20:55:00) [6]

Приведите конкретный код.


Наверх

Титульная страница Поиск, карта сайта Написать письмо