Zloy_Gelud

Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору AleksejTokarev (переписано) Код: function OSInfo() -- обозначаем переменные local sComputerName = ""; local sCountry = ""; local sLanguage = ""; local sRegOwner = ""; local sIP = ""; local sOS = "" local sProcessorName = ""; local sMHz = ""; local sTotalRAM = ""; local sDate = ""; local sTime = ""; local sDrives = ""; -- таблица сведений о системе tOSInfo = {}; --[[ Имя компьютера ]]-- -- имя компа берем из реестра local sComputerName = Registry.GetValue(HKEY_LOCAL_MACHINE, "System\\ControlSet001\\Control\\ComputerName\\ActiveComputerName", "ComputerName", true); -- если получили не пустую строку if (sComputerName ~= "") then -- добавляем значение в таблицу tOSInfo.ComputerName = sComputerName; end --[[ Имя пользователя ]]-- tOSInfo.RegOwner = System.GetUserInfo().RegOwner; --[[ Операционная система ]]-- -- название системы local sOSName = System.GetOSName(); -- таблица версий ОС local tOSVersionInfo = System.GetOSVersionInfo(); -- формируем строку инфы об операционке local sOS = sOSName..tOSVersionInfo.CSDVersion.." (build "..tOSVersionInfo.BuildNumber..")"; tOSInfo.OS = sOS; --[[ Процессор ]]-- -- имя процессора local cProcessorName = String.TrimLeft(Registry.GetValue(HKEY_LOCAL_MACHINE, "Hardware\\Description\\System\\CentralProcessor\\0", "ProcessorNameString", true), nil); tOSInfo.ProcessorName = cProcessorName; -- частоа процессора cMHz = Registry.GetValue(HKEY_LOCAL_MACHINE, "Hardware\\Description\\System\\CentralProcessor\\0", "~MHz", true); tOSInfo.MHz = cMHz.." MHz"; local tKernels = Registry.GetKeyNames(HKEY_LOCAL_MACHINE, "Hardware\\Description\\System\\CentralProcessor"); if (tKernels) then -- количество ядер tOSInfo.KernelsNumber = Table.Count(tKernels); end --[[ Оперативная память ]]-- sTotalRAM = System.GetMemoryInfo().TotalRAM + 1 .. " Mb"; tOSInfo.TotalRAM = sTotalRAM; --[[ IP ]]-- sIP = System.GetLANInfo().IP; tOSInfo.IP = sIP; --[[ Страна ]]-- sCountry = WinApi.GetLocaleInfo("1", "0x00000006"); tOSInfo.Country = sCountry; --[[ Язык ]]-- sLanguage = WinApi.GetLocaleInfo("1", "0x00000002"); tOSInfo.Language = sLanguage; --[[ Системная дата ]]-- sDate = System.GetDate(DATE_FMT_EUROPE); tOSInfo.Date = sDate; --[[ Системное время ]]-- sTime = System.GetTime(TIME_FMT_MIL); tOSInfo.Time = sTime; --[[ Локальные диски ]]-- ----------------------------------------------------- local function GetDrives() tDrives = {} local tDriveLetter = Drive.Enumerate(); if (tDriveLetter) then for n, cDriveLetter in tDriveLetter do if (Drive.GetType(cDriveLetter) == 3) then sSize = String.GetFormattedSize(Drive.GetSize(cDriveLetter)*1024^2, FMTSIZE_GB, true); tDrives[Table.Count(tDrives) + 1] = {DriveLetter = String.Left(cDriveLetter, 2), Size = sSize} end end end return tDrives; end ----------------------------------------------------- local tDrives = GetDrives(); for n, tDrive in tDrives do sDrives = sDrives..tDrive.DriveLetter.." - "..tDrive.Size.." всего\r\n"; end tOSInfo.Drives = sDrives; return tOSInfo; end | Не забудь подключить плагин WinApi. On Preload страницы Код: OSInfo(); Input.SetText("Input1", tOSInfo.ComputerName); Input.SetText("Input2", tOSInfo.Country); Input.SetText("Input3", tOSInfo.Language); Input.SetText("Input4", tOSInfo.RegOwner); Input.SetText("Input5", tOSInfo.IP); Input.SetText("Input6", tOSInfo.OS); Input.SetText("Input7", tOSInfo.ProcessorName); Input.SetText("Input8", tOSInfo.KernelsNumber); Input.SetText("Input9", tOSInfo.MHz); Input.SetText("Input10", tOSInfo.TotalRAM); Input.SetText("Input11", tOSInfo.Date); Input.SetText("Input12", tOSInfo.Time); Input.SetText("Input13", tOSInfo.Drives); | | Всего записей: 3273 | Зарегистр. 30-05-2007 | Отправлено: 23:34 13-03-2008 | Исправлено: Zloy_Gelud, 03:01 14-03-2008 |
|