iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >利用C#实现获取当前设备硬件信息
  • 208
分享到

利用C#实现获取当前设备硬件信息

C#获取设备硬件信息C#获取硬件信息C# 设备信息 2023-03-23 11:03:29 208人浏览 安东尼
摘要

目录需求描述确定当前程序运行在那种平台上ManagementObjectSearcher类获取硬件信息示例代码需求描述 现在有这样一个需求: 我有A、B两台服务器,其中A是一个视频处

需求描述

现在有这样一个需求:

我有A、B两台服务器,其中A是一个视频处理服务器,B是一个数据存储服务器。此时有一个视频需要先在A服务器上进行一系列处理后,再上传到B服务器上进行存储。

为了减少人工手动处理的工作量,A服务器需要主动向B发送数据,然后B服务器接收数据后进行存储,但是在这个过程中我不希望B服务器接收A服务器之外的其他端上传的数据,所以B在接收数据的时候就需要对数据的来源进行一个验证。

这里A服务器在上传数据时携带自身服务器的硬件信息,通过验证硬件信息的方法,能够确定数据来源是否是A服务器。

确定当前程序运行在那种平台上

IsOSPlatfORM 方法用于指示当前应用程序是否正在指定平台上运行:

public static bool IsOSPlatform (System.Runtime.InteropServices.OSPlatform osPlatform);

参数osPlatform表示一种操作系统平台:

valueDescription
FreeBSD获取表示 FreeBSD 操作系统的对象
linux获取表示 Linux 操作系统的对象
OSX获取表示 OSX 操作系统的对象
windows获取表示 Windows 操作系统的对象

ManagementObjectSearcher类获取硬件信息

ManagementObjectSearcher是一个构造函数,在使用之前需要引入命名空间using System Management,这个构造函数接收一个字符串作为参数,这个字符串一般写作"select * from" + key,这里key的值有多种:

ManagementObjectSearcher searcher = new ManagementObjectSearcher("select * from " + Key);
 // 常用Key值
// 硬件 
Win32_Processor, // CPU 处理器 
Win32_PhysicalMemory, // 物理内存条 
Win32_Keyboard, // 键盘 
Win32_PointingDevice, // 点输入设备,包括鼠标。 
Win32_FloppyDrive, // 软盘驱动器 
Win32_DiskDrive, // 硬盘驱动器 
Win32_CDROMDrive, // 光盘驱动器 
Win32_BaseBoard, // 主板 
Win32_BiOS, // BIOS 芯片 
Win32_ParallelPort, // 并口 
Win32_SerialPort, // 串口 
Win32_SerialPortConfiguration, // 串口配置 
Win32_SoundDevice, // 多媒体设置,一般指声卡。 
Win32_SystemSlot, // 主板插槽 (ISA & PCI & AGP) 
Win32_USBController, // USB 控制器 
Win32_NetworkAdapter, // 网络适配器 
Win32_NetworkAdapterConfiguration, // 网络适配器设置 
Win32_Printer, // 打印机 
Win32_PrinterConfiguration, // 打印机设置 
Win32_PrintJob, // 打印机任务 
Win32_tcpIPPrinterPort, // 打印机端口 
Win32_POTSModem, // MODEM 
Win32_POTSModemToSerialPort, // MODEM 端口 
Win32_DesktopMonitor, // 显示器 
Win32_DisplayConfiguration, // 显卡 
Win32_DisplayControllerConfiguration, // 显卡设置 
Win32_VideoController, // 显卡细节。 
Win32_VideoSettings, // 显卡支持的显示模式。 

// 操作系统 
Win32_TimeZone, // 时区 
Win32_SystemDriver, // 驱动程序 
Win32_DiskPartition, // 磁盘分区 
Win32_LogicalDisk, // 逻辑磁盘 
Win32_LogicalDiskToPartition, // 逻辑磁盘所在分区及始末位置。 
Win32_LogicalMemoryConfiguration, // 逻辑内存配置 
Win32_PageFile, // 系统页文件信息 
Win32_PageFileSetting, // 页文件设置 
Win32_BootConfiguration, // 系统启动配置 
Win32_ComputerSystem, // 计算机信息简要 
Win32_OperatingSystem, // 操作系统信息 
Win32_StartupCommand, // 系统自动启动程序 
Win32_Service, // 系统安装的服务 
Win32_Group, // 系统管理组 
Win32_GroupUser, // 系统组帐号 
Win32_UserAccount, // 用户帐号 
Win32_Process, // 系统进程 
Win32_Thread, // 系统线程 
Win32_Share, // 共享 
Win32_NetworkClient, // 已安装的网络客户端 
Win32_NetworkProtocol, // 已安装的网络协议 

示例代码

获取CPU序列号

private string GetServerCode()
        {
            string code = "";
            if (System.Runtime.InteropServices.RuntimeInformation.IsOSPlatform(System.Runtime.InteropServices.OSPlatform.Windows))
            {
                ManagementObjectSearcher searcher = new ManagementObjectSearcher("Select * From Win32_Processor");

                foreach (ManagementObject mo in searcher.Get())
                {
                    code = mo["ProcessorId"].ToString().Trim();
                    break;
                }
            }
            else
            {
                code = ExecuteCommand("dmidecode -t Processor | grep ID | sort -u | awk -F':' '{print $2}'");
            }

            Console.WriteLine("serverCode:" + code);

            return (code ?? "").Replace(" ", "").Trim();
        }

在上面获取CPU序列号的示例代码中,首先创建了一个ManagementObjectSearcher对象,然后通过Get()方法获得ManagementObjectCollection集合,然后使用foreach方法遍历这个集合拿到ManagementObject数据,通过managementObject[name]或ManagementObject.GetPropertyValue(name)获得想要的属性。

不过在这之前我并不知道这个name的值具体填什么,这个时候只需要通过console打印一下就好了。

到此这篇关于利用C#实现获取当前设备硬件信息的文章就介绍到这了,更多相关C#获取设备硬件信息内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 利用C#实现获取当前设备硬件信息

本文链接: https://www.lsjlt.com/news/201019.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 利用C#实现获取当前设备硬件信息
    目录需求描述确定当前程序运行在那种平台上ManagementObjectSearcher类获取硬件信息示例代码需求描述 现在有这样一个需求: 我有A、B两台服务器,其中A是一个视频处...
    99+
    2023-03-23
    C#获取设备硬件信息 C#获取硬件信息 C# 设备信息
  • 怎么用C#实现获取当前设备硬件信息
    这篇文章主要介绍“怎么用C#实现获取当前设备硬件信息”,在日常操作中,相信很多人在怎么用C#实现获取当前设备硬件信息问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用C#实现获取当前设备硬件信息”的疑惑有所...
    99+
    2023-07-05
  • 利用Qt实现获取计算机的硬件信息
    获取的计算机信息包括: 1.计算机的名称 2.所有的IP地址 3.计算机的当前时间 4.CPU型号 5.显卡型号(win10不兼容) 6.内存大小 7.CPU的核数 10.获得显卡的...
    99+
    2022-12-09
    Qt获取计算机硬件信息 Qt 计算机硬件信息 Qt 计算机信息
  • Python利用psutil实现获取硬件,网络和进程信息
    目录楔子CPU 相关内存相关磁盘相关网络相关进程管理进程管理操作楔子 Python 有一个第三方模块叫 psutil,专门用来获取操作系统以及硬件相关的信息,比如:CPU、磁盘、网络...
    99+
    2024-04-02
  • QT利用QProcess获取计算机硬件信息
    目录一、项目介绍二、项目基本配置三、UI界面设置四、主程序实现4.1 widget.h头文件4.2 widget.cpp源文件五、效果演示一、项目介绍 本文介绍利用QProcess获...
    99+
    2024-04-02
  • 怎么用vbs实现获取电脑硬件信息
    这篇文章主要为大家展示了“怎么用vbs实现获取电脑硬件信息”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么用vbs实现获取电脑硬件信息”这篇文章吧。代码一:'*************...
    99+
    2023-06-08
  • Python怎么利用psutil实现获取硬件,网络和进程信息
    楔子Python 有一个第三方模块叫 psutil,专门用来获取操作系统以及硬件相关的信息,比如:CPU、磁盘、网络、内存等等。下面来看一下它的用法,不过在使用之前需要先安装,直接 pip install psutil 即可。CPU 相关获...
    99+
    2023-05-14
    Python psutil
  • 详解.NET6如何实现获取当前登录用户信息
    目录需求目标原理和思路实现创建当前用户获取接口实现接口功能使用功能验证总结需求 在前面的文章里使用.NET 6开发TodoList应用之领域实体创建原理和思路,我们留了一个...
    99+
    2024-04-02
  • python实现获取当前设备的地点位置
    目录一、环境介绍1.搜索“高德地图API”,进入官网,注册自己账号2.进入控制台,创建相关应用3.进入web服务API界面二、代码一、环境介绍 Python版...
    99+
    2024-04-02
  • QT如何利用QProcess获取计算机硬件信息
    今天小编给大家分享一下QT如何利用QProcess获取计算机硬件信息的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、项目介...
    99+
    2023-07-02
  • Java 使用 oshi 获取当前服务硬件信息(操作系统、CPU、内存、磁盘)
    一、导包 这里需要引入两个依赖包: com.github.oshioshi-core6.3.0 org.projectlombok lombok 1.18.24 二、工具类 Hard...
    99+
    2023-10-26
    java oshi 服务器信息
  • python如何实现获取当前设备的地点位置
    这篇文章主要介绍了python如何实现获取当前设备的地点位置,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、环境介绍Python版本 : Python3.8开发工具 : P...
    99+
    2023-06-29
  • 怎么用C#获取计算机的软件和硬件信息
    这篇文章主要介绍“怎么用C#获取计算机的软件和硬件信息”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么用C#获取计算机的软件和硬件信息”文章能帮助大家解决问题。前言利用System.Managem...
    99+
    2023-07-04
  • C#中怎么利用匿名块获取获取序列当前值
    这期内容当中小编将会给大家带来有关C#中怎么利用匿名块获取获取序列当前值,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。在Oracle中建立表、序列、触发器:SQL> create ...
    99+
    2023-06-17
  • 利用Python实现获取照片位置信息
    目录引言一、exifread函数库安装exrfread库(PyCharm)什么是exifread函数库二、获取女朋友发来的照片(单身勿扰)三、具体代码实现四、经纬度转换引言 通过一张...
    99+
    2024-04-02
  • Linux中怎么利用Inxi命令获取系统和硬件信息
    今天就跟大家聊聊有关Linux中怎么利用Inxi命令获取系统和硬件信息,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Inxi是一个可以获取完整的系统和硬件详情信息的命令行工具,内容包...
    99+
    2023-06-13
  • 使用phonegap怎么获取设备的信息
    这篇文章将为大家详细讲解有关使用phonegap怎么获取设备的信息,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。device.name   设备的名称device.pho...
    99+
    2023-06-09
  • Git怎么获取当前提交用户信息和分支
    今天小编给大家分享一下Git怎么获取当前提交用户信息和分支的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。如何获取当前提交用户...
    99+
    2023-07-04
  • 如何用C#获取计算机详细的软件和硬件信息
    目录前言写几行代码就可以获取到计算机丰富的配置信息我总结了常用到的表名及对应包含的信息总结前言 利用System.Management提供的类可以用于读取本地计算机设备的各种数据,包...
    99+
    2022-12-29
    c#获取电脑信息 c#获取硬件信息 c获取电脑硬件信息
  • AngularJs如何利用百度地图API 定位当前位置获取地址信息
    这篇文章主要介绍AngularJs如何利用百度地图API 定位当前位置获取地址信息,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!第一、申请百度密钥  很简单的几步就搞定第二...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作