20230811-1
This commit is contained in:
59
anbs_cposinfo/Classes/OsDriveInfo.cs
Normal file
59
anbs_cposinfo/Classes/OsDriveInfo.cs
Normal file
@@ -0,0 +1,59 @@
|
||||
using anbs_cp.OsInfo.Enums;
|
||||
using anbs_cp.OsInfo.Interfaces;
|
||||
|
||||
namespace anbs_cp.OsInfo.Classes;
|
||||
|
||||
/// <summary>
|
||||
/// Информация о дисках
|
||||
/// </summary>
|
||||
public sealed class OsDriveInfo: IOsDriveInfo
|
||||
{
|
||||
/// <summary>
|
||||
/// Конструктор
|
||||
/// </summary>
|
||||
public OsDriveInfo ()
|
||||
{
|
||||
Type = EDriveType.DtHardDisc;
|
||||
Caption = null;
|
||||
Description = null;
|
||||
DeviceId = null;
|
||||
Name = null;
|
||||
Model = null;
|
||||
TotalSize = 0;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Тип диска
|
||||
/// </summary>
|
||||
public EDriveType Type { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Заголовок
|
||||
/// </summary>
|
||||
public string? Caption { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Описание
|
||||
/// </summary>
|
||||
public string? Description { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Идентификатор устройства
|
||||
/// </summary>
|
||||
public string? DeviceId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Имя устройства
|
||||
/// </summary>
|
||||
public string? Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Модель
|
||||
/// </summary>
|
||||
public string? Model { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Общий размер
|
||||
/// </summary>
|
||||
public ulong TotalSize { get; set; }
|
||||
}
|
402
anbs_cposinfo/Classes/OsInfo.cs
Normal file
402
anbs_cposinfo/Classes/OsInfo.cs
Normal file
@@ -0,0 +1,402 @@
|
||||
using System.Management;
|
||||
using System.Net.NetworkInformation;
|
||||
using System.Net.Sockets;
|
||||
|
||||
using anbs_cp.Classes;
|
||||
using anbs_cp.OsInfo.Enums;
|
||||
using anbs_cp.OsInfo.Interfaces;
|
||||
|
||||
namespace anbs_cp.OsInfo.Classes;
|
||||
|
||||
/// <summary>
|
||||
/// Информация о системе
|
||||
/// </summary>
|
||||
public static class OsInfo
|
||||
{
|
||||
/// <summary>
|
||||
/// Конструктор
|
||||
/// </summary>
|
||||
static OsInfo ()
|
||||
{
|
||||
Windows = GetWindowsInfo();
|
||||
Processors = GetProcessors();
|
||||
RAM = GetRAMs();
|
||||
Videos = GetVideoAdapterInfos();
|
||||
Drives = GetDriveInfos();
|
||||
Net = GetNet();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Информация о Windows
|
||||
/// </summary>
|
||||
public static IOsWindowsInfo Windows { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Список с информацией о процессоре(-ах)
|
||||
/// </summary>
|
||||
public static List<IOsProcessorInfo> Processors { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Количество оперативной памяти в байтах
|
||||
/// </summary>
|
||||
public static ulong RAM { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Видеоадаптеры
|
||||
/// </summary>
|
||||
public static List<IOsVideoAdapterInfo> Videos { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Диски
|
||||
/// </summary>
|
||||
public static List<IOsDriveInfo> Drives { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Сеть
|
||||
/// </summary>
|
||||
public static List<IOsNetInfo> Net { get; set; }
|
||||
|
||||
#region Служебные методы
|
||||
/// <summary>
|
||||
/// Получает информацию о Windows
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
private static IOsWindowsInfo GetWindowsInfo () =>
|
||||
new OsWindowsInfo
|
||||
{
|
||||
Version = Environment.OSVersion.ToString(),
|
||||
Is64 = Environment.Is64BitOperatingSystem,
|
||||
PcName = Environment.MachineName,
|
||||
WindowsFolder = Environment.SystemDirectory
|
||||
};
|
||||
|
||||
/// <summary>
|
||||
/// Получение процессоров
|
||||
/// </summary>
|
||||
/// <returns>Список информации о процессорах</returns>
|
||||
private static List<IOsProcessorInfo> GetProcessors ()
|
||||
{
|
||||
try
|
||||
{
|
||||
//Создаю результирующий список
|
||||
List<IOsProcessorInfo> processorsList = new();
|
||||
|
||||
//Создаю классы менеджмента
|
||||
ManagementClass management = new("Win32_Processor");
|
||||
ManagementObjectCollection collection = management.GetInstances();
|
||||
|
||||
//Получаю число процессоров
|
||||
int processorsCount = collection.Cast<ManagementObject>()
|
||||
.Select(static a => a.Properties["ProcessorId"].Value.ToString()).Count();
|
||||
|
||||
//Перебираю массив данных
|
||||
for (int ind = 0; ind < processorsCount; ind++)
|
||||
{
|
||||
//Создаю элемент информации о процессоре
|
||||
OsProcessorInfo processor = new()
|
||||
{
|
||||
Caption = collection.Cast<ManagementObject>()
|
||||
.Select(static a => a.Properties["Caption"].Value.ToString()).ElementAtOrDefault(ind),
|
||||
Description = collection.Cast<ManagementObject>()
|
||||
.Select(static a => a.Properties["Description"].Value.ToString()).ElementAtOrDefault(ind),
|
||||
DeviceId = collection.Cast<ManagementObject>()
|
||||
.Select(static a => a.Properties["DeviceID"].Value.ToString()).ElementAtOrDefault(ind),
|
||||
Manufacturer = collection.Cast<ManagementObject>()
|
||||
.Select(static a => a.Properties["Manufacturer"].Value.ToString()).ElementAtOrDefault(ind),
|
||||
MaxClockSpeed = TypeConverter.StrToInt(collection.Cast<ManagementObject>()
|
||||
.Select(static a =>
|
||||
a.Properties["MaxClockSpeed"].Value.ToString())
|
||||
.ElementAtOrDefault(ind) ??
|
||||
"0"),
|
||||
Name = collection.Cast<ManagementObject>()
|
||||
.Select(static a => a.Properties["Name"].Value.ToString()).ElementAtOrDefault(ind),
|
||||
NumberOfCores = TypeConverter.StrToInt(collection.Cast<ManagementObject>()
|
||||
.Select(static a =>
|
||||
a.Properties["NumberOfCores"].Value.ToString())
|
||||
.ElementAtOrDefault(ind) ??
|
||||
"0"),
|
||||
NumberOfLogicalProcessors = TypeConverter.StrToInt(collection.Cast<ManagementObject>()
|
||||
.Select(static a => a.Properties["NumberOfLogicalProcessors"].Value.ToString())
|
||||
.ElementAtOrDefault(ind) ?? "0")
|
||||
};
|
||||
|
||||
//Добавляю в список
|
||||
processorsList.Add(processor);
|
||||
}
|
||||
|
||||
//Возвращаю список
|
||||
return processorsList;
|
||||
}
|
||||
catch (NullReferenceException)
|
||||
{
|
||||
return new();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Получение общее количество оперативной памяти
|
||||
/// </summary>
|
||||
/// <returns>Список информации о количестве оперативной памяти</returns>
|
||||
private static ulong GetRAMs ()
|
||||
{
|
||||
try
|
||||
{
|
||||
//Создаю классы менеджмента
|
||||
ManagementClass management = new("Win32_ComputerSystem");
|
||||
ManagementObjectCollection collection = management.GetInstances();
|
||||
|
||||
//Получаю результат
|
||||
return TypeConverter.StrToUInt64(collection.Cast<ManagementObject>()
|
||||
.Select(static a => a.Properties["TotalPhysicalMemory"].Value.ToString()).FirstOrDefault() ?? "0");
|
||||
}
|
||||
catch (NullReferenceException)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Получает список видеоадаптеров
|
||||
/// </summary>
|
||||
/// <returns>Список информации о видеоадаптерах</returns>
|
||||
private static List<IOsVideoAdapterInfo> GetVideoAdapterInfos ()
|
||||
{
|
||||
try
|
||||
{
|
||||
//Создаю результирующий список
|
||||
List<IOsVideoAdapterInfo> videosList = new();
|
||||
|
||||
//Создаю классы менеджмента
|
||||
ManagementClass management = new("Win32_VideoController");
|
||||
ManagementObjectCollection collection = management.GetInstances();
|
||||
|
||||
//Получаю число адаптеров
|
||||
int count = collection.Cast<ManagementObject>()
|
||||
.Select(static a => a.Properties["DeviceID"].Value.ToString()).Count();
|
||||
|
||||
//Перебираю массив данных
|
||||
for (int ind = 0; ind < count; ind++)
|
||||
{
|
||||
//Создаю элемент информации об адаптере
|
||||
OsVideoAdapterInfo adapter = new()
|
||||
{
|
||||
Caption = collection.Cast<ManagementObject>()
|
||||
.Select(static a => a.Properties["Caption"].Value.ToString()).ElementAtOrDefault(ind),
|
||||
Description = collection.Cast<ManagementObject>()
|
||||
.Select(static a => a.Properties["Description"].Value.ToString()).ElementAtOrDefault(ind),
|
||||
DeviceId = collection.Cast<ManagementObject>()
|
||||
.Select(static a => a.Properties["DeviceID"].Value.ToString()).ElementAtOrDefault(ind),
|
||||
AdapterRAM = TypeConverter.StrToInt(collection.Cast<ManagementObject>()
|
||||
.Select(static a => a.Properties["AdapterRAM"].Value.ToString()).ElementAtOrDefault(ind) ?? "0"),
|
||||
DriverDate = collection.Cast<ManagementObject>()
|
||||
.Select(static a => a.Properties["DriverDate"].Value.ToString()).ElementAtOrDefault(ind),
|
||||
Name = collection.Cast<ManagementObject>()
|
||||
.Select(static a => a.Properties["Name"].Value.ToString()).ElementAtOrDefault(ind),
|
||||
CurrentResolution = (TypeConverter.StrToInt(collection.Cast<ManagementObject>()
|
||||
.Select(static a => a.Properties["CurrentHorizontalResolution"].Value.ToString()).ElementAtOrDefault(ind) ?? "0"),
|
||||
TypeConverter.StrToInt(collection.Cast<ManagementObject>()
|
||||
.Select(static a => a.Properties["CurrentVerticalResolution"].Value.ToString())
|
||||
.ElementAtOrDefault(ind) ?? "0")),
|
||||
SystemName = collection.Cast<ManagementObject>()
|
||||
.Select(static a => a.Properties["SystemName"].Value.ToString()).ElementAtOrDefault(ind),
|
||||
DriverVersion = collection.Cast<ManagementObject>()
|
||||
.Select(static a => a.Properties["DriverVersion"].Value.ToString()).ElementAtOrDefault(ind),
|
||||
InstalledDisplayDrivers = collection.Cast<ManagementObject>()
|
||||
.Select(static a => a.Properties["InstalledDisplayDrivers"].Value.ToString()).ElementAtOrDefault(ind),
|
||||
VideoProcessor = collection.Cast<ManagementObject>()
|
||||
.Select(static a => a.Properties["VideoProcessor"].Value.ToString()).ElementAtOrDefault(ind)
|
||||
};
|
||||
|
||||
//Добавляю в список
|
||||
videosList.Add(adapter);
|
||||
}
|
||||
|
||||
//Возвращаю список
|
||||
return videosList;
|
||||
}
|
||||
catch (NullReferenceException)
|
||||
{
|
||||
return new();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Получает список дисков
|
||||
/// </summary>
|
||||
/// <returns>Список информации о дисках</returns>
|
||||
private static List<IOsDriveInfo> GetDriveInfos ()
|
||||
{
|
||||
try
|
||||
{
|
||||
//Создаю результат
|
||||
List<IOsDriveInfo> result = new();
|
||||
|
||||
//Добавление всех HDD/SSD дисков
|
||||
result.AddRange(GetHDDs());
|
||||
|
||||
//Добавление всех CD/DVD/BD дисков
|
||||
result.AddRange(GetCDRom());
|
||||
|
||||
//Вывожу список
|
||||
return result;
|
||||
}
|
||||
catch (NullReferenceException)
|
||||
{
|
||||
return new();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Получаю список HDD/SSD дисков
|
||||
/// </summary>
|
||||
/// <returns>Информация обо всех HDD/SSD дисках</returns>
|
||||
private static List<IOsDriveInfo> GetHDDs ()
|
||||
{
|
||||
try
|
||||
{
|
||||
//Создаю результирующий список
|
||||
List<IOsDriveInfo> driveList = new();
|
||||
|
||||
//Создаю классы менеджмента
|
||||
ManagementClass management = new("Win32_DiskDrive");
|
||||
ManagementObjectCollection collection = management.GetInstances();
|
||||
|
||||
//Получаю число адаптеров
|
||||
int count = collection.Cast<ManagementObject>()
|
||||
.Select(static a => a.Properties["DeviceID"].Value.ToString()).Count();
|
||||
|
||||
//Перебираю массив данных
|
||||
for (int ind = 0; ind < count; ind++)
|
||||
{
|
||||
//Создаю элемент информации об адаптере
|
||||
OsDriveInfo drive = new()
|
||||
{
|
||||
Type = EDriveType.DtHardDisc,
|
||||
Caption = collection.Cast<ManagementObject>()
|
||||
.Select(static a => a.Properties["Caption"].Value.ToString()).ElementAtOrDefault(ind),
|
||||
Description = collection.Cast<ManagementObject>()
|
||||
.Select(static a => a.Properties["Description"].Value.ToString()).ElementAtOrDefault(ind),
|
||||
DeviceId = collection.Cast<ManagementObject>()
|
||||
.Select(static a => a.Properties["DeviceID"].Value.ToString()).ElementAtOrDefault(ind),
|
||||
Name = collection.Cast<ManagementObject>()
|
||||
.Select(static a => a.Properties["Name"].Value.ToString()).ElementAtOrDefault(ind),
|
||||
TotalSize = TypeConverter.StrToUInt64(collection.Cast<ManagementObject>()
|
||||
.Select(static a => a.Properties["Size"].Value.ToString()).ElementAtOrDefault(ind) ?? "0"),
|
||||
Model = collection.Cast<ManagementObject>()
|
||||
.Select(static a => a.Properties["Model"].Value.ToString()).ElementAtOrDefault(ind)
|
||||
};
|
||||
|
||||
//Добавляю в список
|
||||
driveList.Add(drive);
|
||||
}
|
||||
|
||||
//Возвращаю список
|
||||
return driveList;
|
||||
}
|
||||
catch (NullReferenceException)
|
||||
{
|
||||
return new();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Получаю список CD/DVD/BD дисков
|
||||
/// </summary>
|
||||
/// <returns>Информация обо всех CD/DVD/BD дисках</returns>
|
||||
private static List<IOsDriveInfo> GetCDRom ()
|
||||
{
|
||||
try
|
||||
{
|
||||
//Создаю результирующий список
|
||||
List<IOsDriveInfo> driveList = new();
|
||||
|
||||
//Создаю классы менеджмента
|
||||
ManagementClass management = new("Win32_CDROMDrive");
|
||||
ManagementObjectCollection collection = management.GetInstances();
|
||||
|
||||
//Получаю число адаптеров
|
||||
int count = collection.Cast<ManagementObject>()
|
||||
.Select(static a => a.Properties["DeviceID"].Value.ToString()).Count();
|
||||
|
||||
//Перебираю массив данных
|
||||
for (int ind = 0; ind < count; ind++)
|
||||
{
|
||||
//Создаю элемент информации об адаптере
|
||||
OsDriveInfo drive = new()
|
||||
{
|
||||
Type = EDriveType.DtCDRom,
|
||||
Caption = collection.Cast<ManagementObject>()
|
||||
.Select(static a => a.Properties["Caption"].Value.ToString()).ElementAtOrDefault(ind),
|
||||
Description = collection.Cast<ManagementObject>()
|
||||
.Select(static a => a.Properties["Description"].Value.ToString()).ElementAtOrDefault(ind),
|
||||
DeviceId = collection.Cast<ManagementObject>()
|
||||
.Select(static a => a.Properties["DeviceID"].Value.ToString()).ElementAtOrDefault(ind),
|
||||
Name = collection.Cast<ManagementObject>()
|
||||
.Select(static a => a.Properties["Name"].Value.ToString()).ElementAtOrDefault(ind),
|
||||
//Ставится 0, чтобы не проверять корректность загрузки и читаемость диска, а также избежать удлинения получения информации
|
||||
TotalSize = 0,
|
||||
Model = collection.Cast<ManagementObject>()
|
||||
.Select(static a => a.Properties["Manufacturer"].Value.ToString()).ElementAtOrDefault(ind)
|
||||
};
|
||||
|
||||
//Добавляю в список
|
||||
driveList.Add(drive);
|
||||
}
|
||||
|
||||
//Возвращаю список
|
||||
return driveList;
|
||||
}
|
||||
catch (NullReferenceException)
|
||||
{
|
||||
return new();
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Получаю информацию о сети интернет
|
||||
/// </summary>
|
||||
/// <returns>Информация о сети интернет</returns>
|
||||
private static List<IOsNetInfo> GetNet ()
|
||||
{
|
||||
try
|
||||
{
|
||||
//Создаю результирующий список
|
||||
List<IOsNetInfo> netList = new();
|
||||
|
||||
//Получаю информацию о всех сетевых интерфейсах
|
||||
foreach (NetworkInterface adapter in NetworkInterface.GetAllNetworkInterfaces())
|
||||
{
|
||||
//Создаю элемент
|
||||
OsNetInfo netInfo = new()
|
||||
{
|
||||
Name = adapter.Name,
|
||||
Description = adapter.Description,
|
||||
MacAddress = adapter.OperationalStatus == OperationalStatus.Up
|
||||
? adapter.GetPhysicalAddress().ToString()
|
||||
: null
|
||||
};
|
||||
|
||||
//Получаю IP-адрес
|
||||
foreach (UnicastIPAddressInformation info in adapter.GetIPProperties().UnicastAddresses.Where(
|
||||
static info =>
|
||||
info.Address.AddressFamily == AddressFamily.InterNetwork && info.IsDnsEligible))
|
||||
{
|
||||
if (!string.IsNullOrWhiteSpace(netInfo.IPAddress))
|
||||
netInfo.IPAddress += ";";
|
||||
netInfo.IPAddress += info.Address.ToString();
|
||||
}
|
||||
|
||||
//Добавляю адаптер
|
||||
netList.Add(netInfo);
|
||||
}
|
||||
|
||||
//Возвращаю список
|
||||
return netList;
|
||||
}
|
||||
catch (NullReferenceException)
|
||||
{
|
||||
return new();
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
39
anbs_cposinfo/Classes/OsNetInfo.cs
Normal file
39
anbs_cposinfo/Classes/OsNetInfo.cs
Normal file
@@ -0,0 +1,39 @@
|
||||
using anbs_cp.OsInfo.Interfaces;
|
||||
|
||||
namespace anbs_cp.OsInfo.Classes;
|
||||
|
||||
/// <summary>
|
||||
/// Информация об интернет-соединении
|
||||
/// </summary>
|
||||
public sealed class OsNetInfo: IOsNetInfo
|
||||
{
|
||||
/// <summary>
|
||||
/// Заголовок
|
||||
/// </summary>
|
||||
public string? Caption { get => Name; set => _ = value; }
|
||||
|
||||
/// <summary>
|
||||
/// Описание
|
||||
/// </summary>
|
||||
public string? Description { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Идентификатор устройства
|
||||
/// </summary>
|
||||
public string? DeviceId { get => Name; set => _ = value; }
|
||||
|
||||
/// <summary>
|
||||
/// Имя устройства
|
||||
/// </summary>
|
||||
public string? Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// IP-адрес
|
||||
/// </summary>
|
||||
public string? IPAddress { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// MAC-адрес
|
||||
/// </summary>
|
||||
public string? MacAddress { get; set; }
|
||||
}
|
64
anbs_cposinfo/Classes/OsProcessorInfo.cs
Normal file
64
anbs_cposinfo/Classes/OsProcessorInfo.cs
Normal file
@@ -0,0 +1,64 @@
|
||||
using anbs_cp.OsInfo.Interfaces;
|
||||
|
||||
namespace anbs_cp.OsInfo.Classes;
|
||||
|
||||
/// <summary>
|
||||
/// Класс информации о процессоре
|
||||
/// </summary>
|
||||
public sealed class OsProcessorInfo: IOsProcessorInfo
|
||||
{
|
||||
/// <summary>
|
||||
/// Конструктор
|
||||
/// </summary>
|
||||
public OsProcessorInfo ()
|
||||
{
|
||||
Caption = null;
|
||||
Description = null;
|
||||
DeviceId = null;
|
||||
Manufacturer = null;
|
||||
MaxClockSpeed = 0;
|
||||
Name = null;
|
||||
NumberOfCores = 0;
|
||||
NumberOfLogicalProcessors = 0;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Заголовок
|
||||
/// </summary>
|
||||
public string? Caption { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Описание
|
||||
/// </summary>
|
||||
public string? Description { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Идентификатор процессора в системе
|
||||
/// </summary>
|
||||
public string? DeviceId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Производитель
|
||||
/// </summary>
|
||||
public string? Manufacturer { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Максимальная тактовая частота
|
||||
/// </summary>
|
||||
public int MaxClockSpeed { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Имя процессора
|
||||
/// </summary>
|
||||
public string? Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Число ядер
|
||||
/// </summary>
|
||||
public int NumberOfCores { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Число потоков
|
||||
/// </summary>
|
||||
public int NumberOfLogicalProcessors { get; set; }
|
||||
}
|
82
anbs_cposinfo/Classes/OsVideoAdapterInfo.cs
Normal file
82
anbs_cposinfo/Classes/OsVideoAdapterInfo.cs
Normal file
@@ -0,0 +1,82 @@
|
||||
using anbs_cp.OsInfo.Interfaces;
|
||||
|
||||
namespace anbs_cp.OsInfo.Classes;
|
||||
|
||||
/// <summary>
|
||||
/// Информация о видеокарте
|
||||
/// </summary>
|
||||
internal sealed class OsVideoAdapterInfo: IOsVideoAdapterInfo
|
||||
{
|
||||
/// <summary>
|
||||
/// Конструктор
|
||||
/// </summary>
|
||||
public OsVideoAdapterInfo ()
|
||||
{
|
||||
AdapterRAM = 0;
|
||||
Caption = null;
|
||||
CurrentResolution = (0, 0);
|
||||
Description = null;
|
||||
DeviceId = null;
|
||||
DriverDate = null;
|
||||
DriverVersion = null;
|
||||
InstalledDisplayDrivers = null;
|
||||
Name = null;
|
||||
SystemName = null;
|
||||
VideoProcessor = null;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Память
|
||||
/// </summary>
|
||||
public int AdapterRAM { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Заголовок
|
||||
/// </summary>
|
||||
public string? Caption { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Текущее разрешение
|
||||
/// </summary>
|
||||
public (int, int) CurrentResolution { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Описание
|
||||
/// </summary>
|
||||
public string? Description { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Идентификатор устройства
|
||||
/// </summary>
|
||||
public string? DeviceId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Дата установки драйвера
|
||||
/// </summary>
|
||||
public string? DriverDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Версия драйвера
|
||||
/// </summary>
|
||||
public string? DriverVersion { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Название драйверов
|
||||
/// </summary>
|
||||
public string? InstalledDisplayDrivers { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Имя
|
||||
/// </summary>
|
||||
public string? Name { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Имя в системе
|
||||
/// </summary>
|
||||
public string? SystemName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Видео процессор
|
||||
/// </summary>
|
||||
public string? VideoProcessor { get; set; }
|
||||
}
|
62
anbs_cposinfo/Classes/OsWindowsInfo.cs
Normal file
62
anbs_cposinfo/Classes/OsWindowsInfo.cs
Normal file
@@ -0,0 +1,62 @@
|
||||
using anbs_cp.OsInfo.Interfaces;
|
||||
|
||||
namespace anbs_cp.OsInfo.Classes;
|
||||
|
||||
/// <summary>
|
||||
/// Информация о Windows
|
||||
/// </summary>
|
||||
public sealed class OsWindowsInfo: IOsWindowsInfo
|
||||
{
|
||||
/// <summary>
|
||||
/// Конструктор
|
||||
///</summary>
|
||||
public OsWindowsInfo ()
|
||||
{
|
||||
Version = null;
|
||||
Is64 = true;
|
||||
PcName = null;
|
||||
WindowsFolder = null;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Версия
|
||||
/// </summary>
|
||||
public string? Version { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 64-разрядная ОС
|
||||
/// </summary>
|
||||
public bool Is64 { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Имя компьютера
|
||||
/// </summary>
|
||||
public string? PcName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Путь к папке Windows
|
||||
/// </summary>
|
||||
public string? WindowsFolder { get; set; }
|
||||
|
||||
#region Реализация интерфейса IBasicInfo
|
||||
/// <summary>
|
||||
/// Заголовок
|
||||
/// </summary>
|
||||
public string? Caption { get => Version; set => _ = value; }
|
||||
|
||||
/// <summary>
|
||||
/// Описание
|
||||
/// </summary>
|
||||
public string? Description { get => Version; set => _ = value; }
|
||||
|
||||
/// <summary>
|
||||
/// Идентификатор
|
||||
/// </summary>
|
||||
public string? DeviceId { get => Version; set => _ = value; }
|
||||
|
||||
/// <summary>
|
||||
/// Имя
|
||||
/// </summary>
|
||||
public string? Name { get => Version; set => _ = value; }
|
||||
#endregion
|
||||
}
|
Reference in New Issue
Block a user