Форум: "WinAPI";
Текущий архив: 2002.07.04;
Скачать: [xml.tar.bz2];
ВнизКак узнать под какой операционкой запущено приложение? Найти похожие ветки
← →
DiGiTaL (2002-05-07 16:02) [0]Как узнать под какой операционкой запущено приложение?
← →
Виктор Щербаков (2002-05-07 16:04) [1]GetVersionEx
← →
troits (2002-05-07 16:12) [2]Можно посмотреть значение переменной
Win32Platform из SysUtils.pas
VER_PLATFORM_WIN32s System is Win32s.
VER_PLATFORM_WIN32_WINDOWS System is Windows 95.
VER_PLATFORM_WIN32_NT System is Windows NT.
← →
DiGiTaL (2002-05-07 21:58) [3]Ой запутался я что-то.
Win32Platform возвращает Integer. Как его интерпретировать - неясно. В хелпе написано "смотри в windows.pas". там я ничо не нашел.
← →
Song (2002-05-07 22:00) [4]В Windows.pas прописаны эти константы.
← →
DiGiTaL (2002-05-08 00:02) [5]Так не нашел я там. :(
Кстати, мою прогу не смотрел?
← →
BAHO (2002-05-08 00:24) [6]
type
TOperatingSystem=(Windows95,Windows98,
WindowsME,WindowsNT,Windows2k,WindowsXP);
TOsInf = record
WinDir:string[255];
SysDir:string[255];
OS:TOperatingSystem;
var
OS:TOsInf;
implementation
procedure GetSysInfo(var OS:TOsInf);
var
ptr:PChar;
OSV:TOSVersionInfo;
procedure ClearMem(var X; Size: Integer);
asm
push edi
mov edi, eax
xor eax, eax
mov ecx, edx
sar ecx, 2
rep stosd
mov ecx, edx
and ecx, 3
rep stosb
pop edi
end;
begin
ptr:=windows.GetEnvironmentStrings;
windows.GetWindowsDirectory(ptr,MAX_PATH);
os.WinDir:=ptr;
windows.GetSystemDirectory(ptr,MAX_PATH);
os.SysDir:=ptr;
ClearMem(OSV,SizeOf(OSV));
OSv.dwOSVersionInfoSize:=SizeOf(OSV);
GetVersionEx(OSV);
case OSV.dwPlatformId
of
VER_PLATFORM_WIN32_WINDOWS:
begin
if OSV.dwMajorVersion=4
then
begin
if OSV.dwMinorVersion>=0.0
then OS.OS:=Windows95;
if OSV.dwMinorVersion>=10
then OS.OS:=Windows98;
if OSV.dwMinorVersion>=90
then OS.OS:=WindowsME;
end;
end;
VER_PLATFORM_WIN32_NT:
begin
if OSV.dwMinorVersion<=4
then OS.OS:=WindowsNT;
if OSV.dwMajorVersion=5
then
begin
if OSV.dwMinorVersion>=0.0
then OS.OS:=Windows2k;
if OSV.dwMinorVersion>=1
then OS.OS:=WindowsXP;
end;
end;
end;
end;
procedure TCCS.FormCreate(Sender: TObject);
begin
GetSysInfo(OS);
end;
В переменной OS
после запуска проги будет инфа о версии Windows
и месторасположение системных папок...
← →
BAHO (2002-05-08 00:25) [7]да там после обьявления типов я забыл End;
← →
DiGiTaL (2002-05-08 03:10) [8]Спасибо!
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.07.04;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.005 c