Форум: "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