Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2006.12.24;
Скачать: [xml.tar.bz2];

Вниз

Неверное определение версии 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 вся ветка

Форум: "WinAPI";
Текущий архив: 2006.12.24;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.049 c
4-1155818349
Term
2006-08-17 16:39
2006.12.24
Compact Framework Preview Compiler


2-1165090318
sat
2006-12-02 23:11
2006.12.24
списки


11-1142164166
qert
2006-03-12 14:49
2006.12.24
Как узнать что объект освобожден или нет


15-1164917477
Bew
2006-11-30 23:11
2006.12.24
Формула реккурентной последовательности.


3-1160649279
ceval
2006-10-12 14:34
2006.12.24
Помогите откоректировать запрос





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский