Форум: "Основная";
Текущий архив: 2003.12.30;
Скачать: [xml.tar.bz2];
ВнизКак программно определить OS? Найти похожие ветки
← →
MoGiLsHiKK (2003-12-17 15:21) [0]Всем привет!
Кто-нибудь знает, как можно программно определить ,какая на компе установлена операционка?
Спасибо!!!
← →
Внук (2003-12-17 15:23) [1]GetVersionEx
← →
Dimka Maslov (2003-12-17 15:24) [2]http://delphibase.endimus.com/?action=viewtopic&topic=sysparams
← →
MoGiLsHiKK (2003-12-17 15:27) [3]To Внук
А какой возвращяемый результат?
И как полностью выглядит команда ?: application.getversionEX?
← →
Внук (2003-12-17 15:30) [4]А ключ от квартиры? А от дохлого осла уши?
← →
Amoeba (2003-12-17 15:34) [5]application.getversionEX? Ну ты и загнул! Это ведь WinAPI ф-ия, живет в windows.pas
← →
MoGiLsHiKK (2003-12-17 15:42) [6]Не пойму ,а что все таки надо писать в скобках getversionEX(***)
← →
serge (2003-12-17 15:49) [7]A help nelizia procitati da ?
The GetVersionEx function obtains extended information about the version of the operating system that is currently running.
BOOL GetVersionEx(
LPOSVERSIONINFO lpVersionInformation // pointer to version information structure
);
Parameters
lpVersionInformation
Pointer to an OSVERSIONINFO data structure that the function fills with operating system version information.
Before calling the GetVersionEx function, set the dwOSVersionInfoSize member of the OSVERSIONINFO data structure to sizeof
(OSVERSIONINFO).
typedef struct _OSVERSIONINFO{
DWORD dwOSVersionInfoSize;
DWORD dwMajorVersion;
DWORD dwMinorVersion;
DWORD dwBuildNumber;
DWORD dwPlatformId;
TCHAR szCSDVersion[ 128 ];
} OSVERSIONINFO;
← →
Anatoly Podgoretsky (2003-12-17 15:53) [8]http://podgoretsky.com/ftp/Language/nps/ru.delphi.html
Q-114: Как узнать версию Windows?
Использовать функцию API GetVersionEx
function GetVersionEx(var lpVersionInformation: TOSVersionInfo): BOOL; stdcall;
Аргумент функции – структура TOSVersionInfo, содержит
DwVersionInfoSize:DWORD – заполняется как sizeof TOSVersionInfo) перед вызовом функции
DwMajorVersion:DWORD – старшая цифра версии Windows
Windows 95 - 4
Windows 98 - 4
Windows Me - 4
Windows NT 3.51 - 3
Windows NT 4.0 - 4
Windows 2000 - 5
Windows XP - 5
DwMinorVersion: DWORD – младшая цифра версии
Windows 95 - 0
Windows 98 - 10
Windows Me - 90
Windows NT 3.51 - 51
Windows NT 4.0 - 0
Windows 2000 - 0
Windows XP - 1
DwBuildNumber: DWORD
Win NT 4 – номер билда
Win 9x – старший байт – старшая и младшая цифры версии / младший – номер билда
dwPlatformId: DWORD
VER_PLATFORM_WIN32s Win32s on Windows 3.1.
VER_PLATFORM_WIN32_WINDOWS Win32 on Windows 9x
VER_PLATFORM_WIN32_NT Win32 on Windows NT, 2000
SzCSDVersion:DWORD
NT – содержит PСhar с инфо о установленном ServicePack
9x – доп. инфо, может и не быть
Alexander Kramarenko
++++++++++++++++++++++++++++++++++++++++++++++++++++
type
TWinVersion = (wvUnknown,wv95,wv98,wvME,wvNT3,wvNT4,wvW2K,wvXP);
function DetectWinVersion : TWinVersion;
var
OSVersionInfo : TOSVersionInfo;
begin
Result := wvUnknown;
OSVersionInfo.dwOSVersionInfoSize := sizeof(TOSVersionInfo);
if GetVersionEx(OSVersionInfo) then begin
case OSVersionInfo.DwMajorVersion of
3: Result := wvNT3;
4: case OSVersionInfo.DwMinorVersion of
0: if OSVersionInfo.dwPlatformId = VER_PLATFORM_WIN32_NT
then Result := wvNT4
else Result := wv95;
10: Result := wv98;
90: Result := wvME;
end;
5: case OSVersionInfo.DwMinorVersion of
0: Result := wvW2K;
1: Result := wvXP;
end;
end;
end;
end;
function DetectWinVersionStr : string;
const
VersStr : array[TWinVersion] of string = (
"Unknown",
"Windows 95",
"Windows 98",
"Windows ME",
"Windows NT 3",
"Windows NT 4",
"Windows 2000",
"Windows XP");
begin
Result := VersStr[DetectWinVersion];
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Ver := DetectWinVersion;
Label1.Caption := IntToStr(Ord(DetectWinVersion));
Label2.Caption := DetectWinVersionStr;
end;
Анатолий Подгорецкий
+++++++++++++++++++++++++++++++
глобальные переменные Win32Platform (в справке),
Win32MajorVersion,
Win32MinorVersion,
Win32BuildNumber (в модуле SysUtils).
Инициализируются они автоматически, остается только проверить их.
Юрий Зотов
← →
MoGiLsHiKK (2003-12-17 16:03) [9]Всем БОЛЬШОЕ СПАСИБО!!!
сейчас буду пробовать , может что и получиться:))
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.12.30;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.009 c