Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Определение операционной системы

Ответить
Настройки темы
Определение операционной системы

Пользователь


Сообщения: 112
Благодарности: 1

Профиль | Отправить PM | Цитировать


Как в delphi или C++ Builder узнать какая операционная система установлена. Приведите пожалуйста програмный код. С уважением, unreliable.

Отправлено: 16:07, 27-06-2004

 

Аватара для Surround

Ветеран


Сообщения: 908
Благодарности: 20

Профиль | Отправить 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



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для bgg0408

Модер Железа


Сообщения: 1557
Благодарности: 3

Профиль | Сайт | Отправить PM | Цитировать


Surround
еще есть Win NT 5.2 (Windows 2003 Server).
а так вполне нормальный ()  с виду код

-------
FreeBSD - forever


Отправлено: 18:38, 27-06-2004 | #3


Аватара для Surround

Ветеран


Сообщения: 908
Благодарности: 20

Профиль | Отправить PM | Цитировать


bgg0408
ну на Win2003 пока не учел...
кстати как 2003-я все еще сырая такая же?

Отправлено: 19:15, 27-06-2004 | #4


Аватара для bgg0408

Модер Железа


Сообщения: 1557
Благодарности: 3

Профиль | Сайт | Отправить PM | Цитировать


Surround
ИМХО, 2003 лучше ХР будет.... Даже для дома. На оверклокерах даже увеличение скорости заметили при таком переходе...

-------
FreeBSD - forever


Отправлено: 23:29, 27-06-2004 | #5


Аватара для Surround

Ветеран


Сообщения: 908
Благодарности: 20

Профиль | Отправить PM | Цитировать


bgg0408
возможно, но когда я себе ее ставил, только при появлении, еще сыровата была... а так вещсь стоящая

Отправлено: 06:52, 28-06-2004 | #6


Аватара для hasherfrog

Старый параноик


Сообщения: 2423
Благодарности: 85

Профиль | Отправить PM | Цитировать


Самое полное определение операционной системы приведено в PSDK. Я не буду давать листинг, очень много кода. Определяет всё, вплоть до наличия SP1 в XP.
См. ms-help://MS.PSDK.1033/sysinfo/base/getting_the_system_version.htm

Отправлено: 13:47, 28-06-2004 | #7


Пользователь


Сообщения: 112
Благодарности: 1

Профиль | Отправить PM | Цитировать


hasherfrog
ссылка не пашет!

Отправлено: 16:06, 28-06-2004 | #8


Аватара для hasherfrog

Старый параноик


Сообщения: 2423
Благодарности: 85

Профиль | Отправить PM | Цитировать


unreliable
Ссылка работает только у тех, у кого установлен PSDK. Это локальная ссылка. на самом-то деле.

Отправлено: 16:10, 28-06-2004 | #9


Пользователь


Сообщения: 112
Благодарности: 1

Профиль | Отправить PM | Цитировать


http://www.delphipraxis.net/topic746...ermitteln.html - это хоть и на немецком, зато пахает.

Отправлено: 16:10, 28-06-2004 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Определение операционной системы

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Ошибка - Ошибка операционной системы 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




 
Переход