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

Вниз

Неверное определение версии Windows   Найти похожие ветки 

 
Psychedelic ©   (2006-08-15 20:50) [0]

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


 
begin...end ©   (2006-08-15 20:55) [1]

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


 
Psychedelic ©   (2006-08-15 21:55) [2]

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


 
begin...end ©   (2006-08-15 21:58) [3]

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

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

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


 
Psychedelic ©   (2006-08-17 17:20) [4]

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


 
begin...end ©   (2006-08-17 17:53) [5]

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

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


 
Psychedelic ©   (2006-08-17 19:04) [6]

Пожалуйста. Но причина не в коде....
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;



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

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

Наверх




Память: 0.48 MB
Время: 0.049 c
15-1165082731
palva
2006-12-02 21:05
2006.12.24
Что-то не верится. Неужели так много?


15-1165257361
DiX
2006-12-04 21:36
2006.12.24
Управление webmoney


2-1165227033
TrainerOfDolphins
2006-12-04 13:10
2006.12.24
EnableControls- AccessViolation


15-1165203395
Slider007
2006-12-04 06:36
2006.12.24
С днем рождения ! 3 декабря


2-1165403808
mfender
2006-12-06 14:16
2006.12.24
TNotifyEvent и AccessViolation