|
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
| Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Определение операционной системы |
|
||||
|
|
Определение операционной системы
|
|
Пользователь Сообщения: 112 |
Как в delphi или C++ Builder узнать какая операционная система установлена. Приведите пожалуйста програмный код. С уважением, unreliable.
|
|
|
Отправлено: 16:07, 27-06-2004 |
|
Ветеран Сообщения: 908
|
Профиль | Отправить PM | Цитировать unreliable
через WinAPI можно так:
Type TOSVersion=(osUnknown, osUnknown9x, osUnknownNT, osWin95, osWin98, osWin98SE, osWinME, osWinNT, osWin2000, osXP);
function GetOSVersion : TOSVersion;
var osVerInfo : TOSVersionInfo;
*majorVer, minorVer : Integer; *
begin
*result := OsUnknown; *
*osVerInfo.dwOSVersionInfoSize := SizeOf(TOSVersionInfo); *
*if GetVersionEx(osVerInfo) then * *
*begin * *
*majorVer := osVerInfo.dwMajorVersion; *
*minorVer := osVerInfo.dwMinorVersion; *
*case osVerInfo.dwPlatformId of * *
*VER_PLATFORM_WIN32_NT : *
*Case majorVer of *
*4:result := OsWinNT; *
*5:if minorVer=0 then result := OsWin2000 *
*else * *
*if minorVer=1 then result := OsXP else result := osUnknownNT; *
*else result := osUnknownNT; *
*end; {Case majorVer of} *
*
*VER_PLATFORM_WIN32_WINDOWS : *
*case majorVer of *
*4: Case minorVer of *
*0:result := OsWin95; *
*10: if osVerInfo.szCSDVersion[1] = 'A' then result := OsWin98SE else result := OsWin98; *
*90: result := OsWinME; *
*else result := osUnknown9x; * *
*end;{Case minorVer of} * *
*else result := osUnknown9x; * *
*end{case majorVer of} *
*else result := OsUnknown; *
*end;{case osVerInfo.dwPlatformId of} *
*end;{if GetVersionEx(osVerInfo) then} *
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
*case GetOSVersion of *
*osUnknown: Showmessage('Unknown'); *
*osWin95: Showmessage('Win95'); *
*osWin98: Showmessage('Win98'); *
*osWin98SE: Showmessage('Win98SE'); *
*osWinME: Showmessage('WinME'); *
*osWinNT: Showmessage('WinNT'); *
*osWin2000: Showmessage('Win2000'); *
*osXP: Showmessage('XP'); *
*end; *
end;
![]() |
|
Отправлено: 16:30, 27-06-2004 | #2 |
|
Модер Железа Сообщения: 1557
|
Профиль | Сайт | Отправить PM | Цитировать Surround
еще есть Win NT 5.2 (Windows 2003 Server). а так вполне нормальный ( ) с виду код |
|
------- Отправлено: 18:38, 27-06-2004 | #3 |
|
Ветеран Сообщения: 908
|
Профиль | Отправить PM | Цитировать bgg0408
ну на Win2003 пока не учел... кстати как 2003-я все еще сырая такая же? |
|
Отправлено: 19:15, 27-06-2004 | #4 |
|
Модер Железа Сообщения: 1557
|
Профиль | Сайт | Отправить PM | Цитировать Surround
ИМХО, 2003 лучше ХР будет.... Даже для дома. На оверклокерах даже увеличение скорости заметили при таком переходе... |
|
|
------- Отправлено: 23:29, 27-06-2004 | #5 |
|
Ветеран Сообщения: 908
|
Профиль | Отправить PM | Цитировать bgg0408
возможно, но когда я себе ее ставил, только при появлении, еще сыровата была... а так вещсь стоящая |
|
Отправлено: 06:52, 28-06-2004 | #6 |
|
Старый параноик Сообщения: 2423
|
Профиль | Отправить PM | Цитировать Самое полное определение операционной системы приведено в PSDK. Я не буду давать листинг, очень много кода. Определяет всё, вплоть до наличия SP1 в XP.
См. ms-help://MS.PSDK.1033/sysinfo/base/getting_the_system_version.htm |
|
Отправлено: 13:47, 28-06-2004 | #7 |
|
Пользователь Сообщения: 112
|
Профиль | Отправить PM | Цитировать hasherfrog
ссылка не пашет! |
|
Отправлено: 16:06, 28-06-2004 | #8 |
|
Старый параноик Сообщения: 2423
|
Профиль | Отправить PM | Цитировать unreliable
Ссылка работает только у тех, у кого установлен PSDK. Это локальная ссылка. на самом-то деле. |
|
Отправлено: 16:10, 28-06-2004 | #9 |
|
Пользователь Сообщения: 112
|
Профиль | Отправить PM | Цитировать http://www.delphipraxis.net/topic746...ermitteln.html - это хоть и на немецком, зато пахает.
|
|
Отправлено: 16:10, 28-06-2004 | #10 |
|
|
|
Участник сейчас на форуме |
|
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
| Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
| Ошибка - Ошибка операционной системы | DrimBass | Microsoft Windows 2000/XP | 1 | 19-04-2009 22:16 | |
| Ядро операционной системы | alex2704 | Microsoft Windows NT/2000/2003 | 1 | 20-05-2008 01:18 | |
| Выбор операционной системы | kul | Программное обеспечение Windows | 8 | 18-05-2008 13:53 | |
| Разное - Удаление операционной системы. | VM007 | Microsoft Windows 2000/XP | 2 | 23-01-2008 15:00 | |
| Загрузка операционной системы | Orion | Microsoft Windows 95/98/Me (архив) | 13 | 25-05-2005 05:09 | |
|