FuckAV - Форум о крипторах

Анонимный антивирусный сканер VPN-сервис
[Copi]Team DDoS Service

SEO статьи - блог от создателя FuckAV | KOROVKA.so | Качественный VPN Service MultiVPN - PPTP/OpenVPN/DoubleVPN

Реклама на форуме | Помощь форуму | Аварийный блог

Наш Jabber-сервер расположен по адресу fuckav.in. Добро пожаловать!!!

Вернуться  

Source Раздел для исходников крипторов, джоинеров и различного софта

Для того, чтобы ответить в теме, необходимо зарегистрироваться.
 
Опции темы Опции просмотра
Старый 10-10-2011   #1
WestSide

Windows XP

Последняя активность:
22-04-2014
Регистрация: 19.11.2010
Сообщений: 270
Поблагодарили всего: 7
за это сообщение: 0
По умолчанию GetOS

Код:
function GetOS: string;
const
  cOsUnknown  = 'Unknown';
  cOsWin95    = 'Win95';
  cOsWin98    = 'Win98';
  cOsWin98SE  = 'W98SE';
  cOsWinME    = 'WinME';
  cOsWinNT3   = 'WinNT3';
  cOsWinNT4   = 'WinNT4';
  cOsWin2000  = 'Win2000';
  cOsXP       = 'WinXP';
  cOsVista    = 'WinVista';
  cOsSeven    = 'WinSeven';
var
  OS: TOSVersionInfo;
  majorVer, minorVer: Integer;
begin
  Result := cOsUnknown;
  OS.dwOSVersionInfoSize := SizeOf(TOSVersionInfo);

  if GetVersionEx(OS) then
  begin
    majorVer := OS.dwMajorVersion;
    minorVer := OS.dwMinorVersion;
    case OS.dwPlatformId of
      VER_PLATFORM_WIN32_NT: { Windows NT/2000/XP/Vista/Seven }
        begin
          // Windows 95      - 4 ; 0
          // Windows 98      - 4 ; 10
          // Windows Me      - 4 ; 90
          // Windows NT 3.51 - 3 ; 51
          // Windows NT 4.0  - 4 ; 0
          // Windows 2000    - 5 ; 0
          // Windows XP      - 5 ; 1
          if (majorVer=3) and (minorVer=51) then
            Result := cOsWinNT3
          else if (majorVer = 4) and (minorVer=0) then
            Result := cOsWinNT4
          else if (majorVer = 5) and (minorVer = 0) then
            Result := cOsWin2000
          else if (majorVer = 5) and (minorVer = 1) then
            Result := cOsXP
          else if (majorVer = 6) and (minorVer = 0) then
            Result := cOsVista
          else if (majorVer = 6) and (minorVer = 1) then
            Result := cOsSeven
          else
            Result := cOsUnknown;
        end;
      VER_PLATFORM_WIN32_WINDOWS:  { Windows 9x/ME }
        begin
          if (majorVer = 4) and (minorVer = 0) then
            Result := cOsWin95
          else if (majorVer = 4) and (minorVer = 10) then
          begin
            if OS.szCSDVersion[1] = 'A' then
              Result := cOsWin98SE
            else
              Result := cOsWin98;
          end
          else if (majorVer = 4) and (minorVer = 90) then
            Result := cOsWinME
          else
            Result := cOsUnknown;
        end;
      else
        Result := cOsUnknown;
    end;
  end
  else
    Result := cOsUnknown;
end;
Исправленная функция из Ounk.
Спасибо Dave и KpuMuHaJl за помощь в тестах.

Последний раз редактировалось WestSide; 10-10-2011 в 08:24.
WestSide вне форума  
Старый 11-10-2011   #2
LeFF

Windows v.1.01

Последняя активность:
19-10-2011
Регистрация: 11.10.2011
Сообщений: 8
Поблагодарили всего: 0
за это сообщение: 0
По умолчанию

можно еще серверные оси добавить) но это канеш опционально...
LeFF вне форума  
Для того, чтобы ответить в теме, необходимо зарегистрироваться.

Метки
begin, cosunknown, getos, majorver, minorver


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Часовой пояс GMT +3, время: 12:30.



Powered by vBulletin® Copyright ©2000 - 2014, Jelsoft Enterprises Ltd. Перевод: zCarot
Други: SEO блог Deymos'a| ProLogic.Su| DServers.ru| Форум веб-мастеров