C#获取cpu序列号,硬盘ID,网卡MAC地址等硬件信息

简介:

首先在添加引用中选中System.Management
 
using System.Management;
using System.Management.Instrumentation;

private void GetInfo()  
   {  
    string cpuInfo = "";//cpu序列号  
    ManagementClass cimobject = new ManagementClass("Win32_Processor");  
    ManagementObjectCollection moc = cimobject.GetInstances();  
    foreach(ManagementObject mo in moc)  
    {  
     cpuInfo = mo.Properties["ProcessorId"].Value.ToString();  
     Response.Write ("cpu序列号:"+cpuInfo.ToString ());  
    } 

    //获取硬盘ID  
    String HDid;  
    ManagementClass cimobject1 = new ManagementClass("Win32_DiskDrive");  
    ManagementObjectCollection moc1 = cimobject1.GetInstances();  
    foreach(ManagementObject mo in moc1)  
    {  
     HDid = (string)mo.Properties["Model"].Value;  
     Response.Write ("硬盘序列号:"+HDid.ToString ());  
    } 


    //获取网卡硬件地址 

     
     
    ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");  
    ManagementObjectCollection moc2 = mc.GetInstances();  
    foreach(ManagementObject mo in moc2)  
    {  
     if((bool)mo["IPEnabled"] == true)  
      Response.Write("MAC address\t{0}"+mo["MacAddress"].ToString());  
     mo.Dispose();  
    }  
   }

 

    public static float GetCPUPersent()
    {
        float cpuload = 0;
        const string categoryname = "processor";
        const string countername = "% processor time";
        const string instancename = "_total";
        PerformanceCounter pc = new PerformanceCounter(categoryname, countername, instancename);
        int i = 10;
        while (i > 0)
        {
            Thread.Sleep(1000); // wait for 1 second 
            cpuload = pc.NextValue();
            if (cpuload > 0)
            {
                break;
            }
            i--;
        }
        return cpuload;
    }

    public static void GetDiskSpace(string path, out long DiskAll, out long DiskActive)
    {
        DiskAll = 0;
        DiskActive = 0;
        long a, b, c;
        int aaa = GetDiskFreeSpaceEx(path, out a, out b, out c);
        DiskAll = (long)(b / 1024 / 1024);
        DiskActive = (long)(a / 1024 / 1024);
    }

    public static void GetMemoryInfo(out uint MemoryAll, out uint MemoryUsed)
    {
        MemoryAll = 0;
        MemoryUsed = 0;
        MEMORY_INFO MemInfo = new MEMORY_INFO();
        GlobalMemoryStatus(ref  MemInfo);
        MemoryAll = MemInfo.dwTotalPhys / 1024 / 1024;
        MemoryUsed = (MemInfo.dwTotalPhys - MemInfo.dwAvailPhys) / 1024 / 1024;
    }

 

 

 

    [DllImport("kernel32")]
    public static extern void GlobalMemoryStatus(ref  MEMORY_INFO meminfo);

    //定义内存的信息结构  
    [StructLayout(LayoutKind.Sequential)]
    public struct MEMORY_INFO
    {
        public uint dwLength;
        public uint dwMemoryLoad;
        public uint dwTotalPhys;
        public uint dwAvailPhys;
        public uint dwTotalPageFile;
        public uint dwAvailPageFile;
        public uint dwTotalVirtual;
        public uint dwAvailVirtual;
    }

    [DllImport("kernel32.dll", EntryPoint = "GetDiskFreeSpaceExA")]
    public static extern int GetDiskFreeSpaceEx(string lpRootPathName, out long lpFreeBytesAvailable, out long lpTotalNumberOfBytes, out long lpTotalNumberOfFreeBytes);

 




本文转自94cool博客园博客,原文链接:http://www.cnblogs.com/94cool/archive/2011/06/12/2078858.html,如需转载请自行联系原作者


相关文章
|
人工智能 并行计算 openCL
魔搭+Xinference 平台:CPU,GPU,Mac-M1多端大模型部署
随着 Llama2 的开源,以及通义千问、百川、智谱等国内大模型的问世,很多用户有了本地部署去尝试大模型的需求,然而硬件的需求阻碍了很多人的尝试,并不是所有人都拥有一块英伟达显卡的,所以 Llama2 问世不久,大神 Andrej Karpathy 的一个 weekend project 爆火——llama2.c。
魔搭+Xinference 平台:CPU,GPU,Mac-M1多端大模型部署
VSCode:code helper进程导致Mac的CPU使用率很高
VSCode:code helper进程导致Mac的CPU使用率很高
2322 0
VSCode:code helper进程导致Mac的CPU使用率很高
|
1月前
|
C# 开发工具 Windows
C# 获取Windows系统信息以及CPU、内存和磁盘使用情况
C# 获取Windows系统信息以及CPU、内存和磁盘使用情况
46 0
|
2月前
|
算法 测试技术 AI芯片
CPU反超NPU,llama.cpp生成速度翻5倍!LLM端侧部署新范式T-MAC开源
【9月更文挑战第7天】微软研究院提出了一种名为T-MAC的创新方法,旨在解决大型语言模型在资源受限的边缘设备上高效部署的问题。T-MAC通过查表法在CPU上实现低比特LLM的高效推理,支持混合精度矩阵乘法,无需解量化。其通过位级查表实现统一且可扩展的解决方案,优化数据布局和重用率,显著提升了单线程和多线程下的mpGEMV及mpGEMM性能,并在端到端推理吞吐量和能效方面表现出色。然而,表量化和快速聚合技术可能引入近似和数值误差,影响模型准确性。论文详见:[链接](https://www.arxiv.org/pdf/2407.00088)。
150 10
Qt-获取计算机信息(MAC、IP、CPU、主机名等等)
Qt-获取计算机信息(MAC、IP、CPU、主机名等等)
651 0
|
JSON 数据可视化 定位技术
python数据可视化开发(3):使用psutil和socket模块获取电脑系统信息(Mac地址、IP地址、主机名、系统用户、硬盘、CPU、内存、网络)
python数据可视化开发(3):使用psutil和socket模块获取电脑系统信息(Mac地址、IP地址、主机名、系统用户、硬盘、CPU、内存、网络)
298 0
|
机器学习/深度学习 人工智能 并行计算
闻其声而知雅意,M1 Mac基于PyTorch(mps/cpu/cuda)的人工智能AI本地语音识别库Whisper(Python3.10)
前文回溯,之前一篇:[含辞未吐,声若幽兰,史上最强免费人工智能AI语音合成TTS服务微软Azure(Python3.10接入)](https://v3u.cn/a_id_260),利用AI技术将文本合成语音,现在反过来,利用开源库Whisper再将语音转回文字,所谓闻其声而知雅意。
闻其声而知雅意,M1 Mac基于PyTorch(mps/cpu/cuda)的人工智能AI本地语音识别库Whisper(Python3.10)
MAC查看CPU信息
MAC查看CPU信息
138 0
用C#操作类读写WinCE平台Mac地址
前段时间在测试我们触摸屏联网性能的时候,由于屏的Mac地址通过注册表设置,而PB定制WinCE内核的时候就有一个默认值,所以一批下来Mac地址都一样,两台以上的机器一联网准出问题,通过注册表软件去修改Mac地址太麻烦了,所以做了一个小的Mac地址软件。
597 0
|
缓存 测试技术 C#
.NET高性能编程之C#玩转CPU高速缓存(附示例)
高并发、低延迟之C#玩转CPU高速缓存(附示例)
2692 0