|
@@ -12,6 +12,8 @@ using IES.ExamServer.DI;
|
|
|
using IES.ExamServer.Helpers;
|
|
|
using IES.ExamLibrary.Models;
|
|
|
using System.Threading.Tasks;
|
|
|
+using Hardware.Info;
|
|
|
+using System.Net.NetworkInformation;
|
|
|
|
|
|
namespace IES.ExamServer.Controllers
|
|
|
{
|
|
@@ -38,6 +40,135 @@ namespace IES.ExamServer.Controllers
|
|
|
_connectionService=connectionService;
|
|
|
_liteDBFactory=liteDBFactory;
|
|
|
}
|
|
|
+
|
|
|
+ [HttpGet("hardware")]
|
|
|
+ public IActionResult hardware()
|
|
|
+ {
|
|
|
+ IHardwareInfo? hardwareInfo = null;
|
|
|
+ try
|
|
|
+ {
|
|
|
+ hardwareInfo = new HardwareInfo();
|
|
|
+ //hardwareInfo.RefreshOperatingSystem();
|
|
|
+ //.....
|
|
|
+ //刷新所有硬件信息
|
|
|
+ hardwareInfo.RefreshAll();
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ Console.WriteLine(ex);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ Console.WriteLine("输出操作系统信息" + Environment.NewLine);
|
|
|
+ Console.WriteLine(hardwareInfo.OperatingSystem);
|
|
|
+
|
|
|
+ Console.WriteLine("输出内存状态信息" + Environment.NewLine);
|
|
|
+ Console.WriteLine(hardwareInfo.MemoryStatus);
|
|
|
+
|
|
|
+ Console.WriteLine("输出电池信息" + Environment.NewLine);
|
|
|
+ foreach (var hardware in hardwareInfo.BatteryList)
|
|
|
+ Console.WriteLine(hardware);
|
|
|
+
|
|
|
+ Console.WriteLine("输出 BIOS 信息" + Environment.NewLine);
|
|
|
+ foreach (var hardware in hardwareInfo.BiosList)
|
|
|
+ Console.WriteLine(hardware);
|
|
|
+
|
|
|
+ Console.WriteLine("输出计算机系统信息" + Environment.NewLine);
|
|
|
+ foreach (var hardware in hardwareInfo.ComputerSystemList)
|
|
|
+ Console.WriteLine(hardware);
|
|
|
+
|
|
|
+ Console.WriteLine("输出 CPU 信息" + Environment.NewLine);
|
|
|
+ foreach (var cpu in hardwareInfo.CpuList)
|
|
|
+ {
|
|
|
+ Console.WriteLine(cpu);
|
|
|
+
|
|
|
+ Console.WriteLine("输出 CPU 核心信息" + Environment.NewLine);
|
|
|
+ foreach (var cpuCore in cpu.CpuCoreList)
|
|
|
+ Console.WriteLine(cpuCore);
|
|
|
+ }
|
|
|
+
|
|
|
+ Console.WriteLine("输出磁盘驱动器信息" + Environment.NewLine);
|
|
|
+ foreach (var drive in hardwareInfo.DriveList)
|
|
|
+ {
|
|
|
+ Console.WriteLine(drive);
|
|
|
+
|
|
|
+ Console.WriteLine("输出驱动器分区信息" + Environment.NewLine);
|
|
|
+ foreach (var partition in drive.PartitionList)
|
|
|
+ {
|
|
|
+ Console.WriteLine(partition);
|
|
|
+
|
|
|
+ Console.WriteLine("输出分区卷信息" + Environment.NewLine);
|
|
|
+ foreach (var volume in partition.VolumeList)
|
|
|
+ Console.WriteLine(volume);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ Console.WriteLine("输出键盘信息" + Environment.NewLine);
|
|
|
+ foreach (var hardware in hardwareInfo.KeyboardList)
|
|
|
+ Console.WriteLine(hardware);
|
|
|
+
|
|
|
+ Console.WriteLine("输出内存信息" + Environment.NewLine);
|
|
|
+ foreach (var hardware in hardwareInfo.MemoryList)
|
|
|
+ Console.WriteLine(hardware);
|
|
|
+
|
|
|
+ Console.WriteLine("输出显示器信息" + Environment.NewLine);
|
|
|
+ foreach (var hardware in hardwareInfo.MonitorList)
|
|
|
+ Console.WriteLine(hardware);
|
|
|
+
|
|
|
+ Console.WriteLine("输出主板信息" + Environment.NewLine);
|
|
|
+ foreach (var hardware in hardwareInfo.MotherboardList)
|
|
|
+ Console.WriteLine(hardware);
|
|
|
+
|
|
|
+ Console.WriteLine("输出鼠标信息" + Environment.NewLine);
|
|
|
+ foreach (var hardware in hardwareInfo.MouseList)
|
|
|
+ Console.WriteLine(hardware);
|
|
|
+
|
|
|
+ Console.WriteLine("输出网络适配器信息" + Environment.NewLine);
|
|
|
+ foreach (var hardware in hardwareInfo.NetworkAdapterList)
|
|
|
+ Console.WriteLine(hardware);
|
|
|
+
|
|
|
+ Console.WriteLine("输出打印机信息" + Environment.NewLine);
|
|
|
+ foreach (var hardware in hardwareInfo.PrinterList)
|
|
|
+ Console.WriteLine(hardware);
|
|
|
+
|
|
|
+ Console.WriteLine("输出声音设备信息" + Environment.NewLine);
|
|
|
+ foreach (var hardware in hardwareInfo.SoundDeviceList)
|
|
|
+ Console.WriteLine(hardware);
|
|
|
+
|
|
|
+ Console.WriteLine("输出显卡信息" + Environment.NewLine);
|
|
|
+ foreach (var hardware in hardwareInfo.VideoControllerList)
|
|
|
+ Console.WriteLine(hardware);
|
|
|
+
|
|
|
+ Console.WriteLine("输出 Ethernet 类型并且状态为 Up 的本地 IPv4 地址" + Environment.NewLine);
|
|
|
+ foreach (var address in HardwareInfo.GetLocalIPv4Addresses(NetworkInterfaceType.Ethernet, OperationalStatus.Up))
|
|
|
+ Console.WriteLine(address);
|
|
|
+
|
|
|
+ Console.WriteLine();
|
|
|
+
|
|
|
+ Console.WriteLine("输出 Wireless80211 类型的本地 IPv4 地址" + Environment.NewLine);
|
|
|
+ foreach (var address in HardwareInfo.GetLocalIPv4Addresses(NetworkInterfaceType.Wireless80211))
|
|
|
+ Console.WriteLine(address);
|
|
|
+
|
|
|
+ Console.WriteLine();
|
|
|
+
|
|
|
+ Console.WriteLine("输出状态为 Up 的网络接口卡的本地 IPv4 地址" + Environment.NewLine);
|
|
|
+ foreach (var address in HardwareInfo.GetLocalIPv4Addresses(OperationalStatus.Up))
|
|
|
+ Console.WriteLine(address);
|
|
|
+
|
|
|
+ Console.WriteLine();
|
|
|
+
|
|
|
+ Console.WriteLine("输出所有网络接口卡的本地 IPv4 地址" + Environment.NewLine);
|
|
|
+ foreach (var address in HardwareInfo.GetLocalIPv4Addresses())
|
|
|
+ Console.WriteLine(address);
|
|
|
+
|
|
|
+ Console.WriteLine();
|
|
|
+
|
|
|
+ Console.WriteLine("输出计算机当前时间" + Environment.NewLine);
|
|
|
+ Console.WriteLine(DateTime.Now);
|
|
|
+ Console.WriteLine("输出系统启动时间" + Environment.NewLine);
|
|
|
+ Console.WriteLine(Environment.TickCount);
|
|
|
+ return Ok();
|
|
|
+ }
|
|
|
/// <summary>
|
|
|
/// 关闭当前进程的接口
|
|
|
/// </summary>
|