C#常用操作类库五(电脑操作类)

简介:   ///     /// Computer Information    ///     public class ComputerHelper    {        public string CpuID;        public string MacAddress;        p...
   ///   <summary>
    
///  Computer Information
    
///   </summary>
     public  class ComputerHelper
    {
         public  string CpuID;
         public  string MacAddress;
         public  string DiskID;
         public  string IpAddress;
         public  string LoginUserName;
         public  string ComputerName;
         public  string SystemType;
         public  string TotalPhysicalMemory;  // 单位:M
         private  static ComputerHelper _instance;
         public  static ComputerHelper Instance()
        {
             if (_instance ==  null)
                _instance =  new ComputerHelper();
             return _instance;
        }
         public ComputerHelper()
        {
            CpuID = GetCpuID();
            MacAddress = GetMacAddress();
            DiskID = GetDiskID();
            IpAddress = GetIPAddress();
            LoginUserName = GetUserName();
            SystemType = GetSystemType();
            TotalPhysicalMemory = GetTotalPhysicalMemory();
            ComputerName = GetComputerName();
        }
         string GetCpuID()
        {
             try
            {
                 // 获取CPU序列号代码
                 string cpuInfo =  ""; // cpu序列号
                ManagementClass mc =  new ManagementClass( " Win32_Processor ");
                ManagementObjectCollection moc = mc.GetInstances();
                 foreach (ManagementObject mo  in moc)
                {
                    cpuInfo = mo.Properties[ " ProcessorId "].Value.ToString();
                }
                moc =  null;
                mc =  null;
                 return cpuInfo;
            }
             catch
            {
                 return  " unknow ";
            }
             finally
            {
            }

        }
         string GetMacAddress()
        {
             try
            {
                 // 获取网卡硬件地址
                 string mac =  "";
                ManagementClass mc =  new ManagementClass( " Win32_NetworkAdapterConfiguration ");
                ManagementObjectCollection moc = mc.GetInstances();
                 foreach (ManagementObject mo  in moc)
                {
                     if (( bool)mo[ " IPEnabled "] ==  true)
                    {
                        mac = mo[ " MacAddress "].ToString();
                         break;
                    }
                }
                moc =  null;
                mc =  null;
                 return mac;
            }
             catch
            {
                 return  " unknow ";
            }
             finally
            {
            }

        }
         string GetIPAddress()
        {
             try
            {
                 // 获取IP地址
                 string st =  "";
                ManagementClass mc =  new ManagementClass( " Win32_NetworkAdapterConfiguration ");
                ManagementObjectCollection moc = mc.GetInstances();
                 foreach (ManagementObject mo  in moc)
                {
                     if (( bool)mo[ " IPEnabled "] ==  true)
                    {
                         // st=mo["IpAddress"].ToString();
                        System.Array ar;
                        ar = (System.Array)(mo.Properties[ " IpAddress "].Value);
                        st = ar.GetValue( 0).ToString();
                         break;
                    }
                }
                moc =  null;
                mc =  null;
                 return st;
            }
             catch
            {
                 return  " unknow ";
            }
             finally
            {
            }

        }

         string GetDiskID()
        {
             try
            {
                 // 获取硬盘ID
                String HDid =  "";
                ManagementClass mc =  new ManagementClass( " Win32_DiskDrive ");
                ManagementObjectCollection moc = mc.GetInstances();
                 foreach (ManagementObject mo  in moc)
                {
                    HDid = ( string)mo.Properties[ " Model "].Value;
                }
                moc =  null;
                mc =  null;
                 return HDid;
            }
             catch
            {
                 return  " unknow ";
            }
             finally
            {
            }

        }

         ///   <summary>
        
///  操作系统的登录用户名
        
///   </summary>
        
///   <returns></returns>
         string GetUserName()
        {
             try
            {
                 string st =  "";
                ManagementClass mc =  new ManagementClass( " Win32_ComputerSystem ");
                ManagementObjectCollection moc = mc.GetInstances();
                 foreach (ManagementObject mo  in moc)
                {

                    st = mo[ " UserName "].ToString();

                }
                moc =  null;
                mc =  null;
                 return st;
            }
             catch
            {
                 return  " unknow ";
            }
             finally
            {
            }

        }


         ///   <summary>
        
///  PC类型
        
///   </summary>
        
///   <returns></returns>
         string GetSystemType()
        {
             try
            {
                 string st =  "";
                ManagementClass mc =  new ManagementClass( " Win32_ComputerSystem ");
                ManagementObjectCollection moc = mc.GetInstances();
                 foreach (ManagementObject mo  in moc)
                {

                    st = mo[ " SystemType "].ToString();

                }
                moc =  null;
                mc =  null;
                 return st;
            }
             catch
            {
                 return  " unknow ";
            }
             finally
            {
            }

        }

         ///   <summary>
        
///  物理内存
        
///   </summary>
        
///   <returns></returns>
         string GetTotalPhysicalMemory()
        {
             try
            {

                 string st =  "";
                ManagementClass mc =  new ManagementClass( " Win32_ComputerSystem ");
                ManagementObjectCollection moc = mc.GetInstances();
                 foreach (ManagementObject mo  in moc)
                {

                    st = mo[ " TotalPhysicalMemory "].ToString();

                }
                moc =  null;
                mc =  null;
                 return st;
            }
             catch
            {
                 return  " unknow ";
            }
             finally
            {
            }
        }
         ///   <summary>
        
///  
        
///   </summary>
        
///   <returns></returns>
         string GetComputerName()
        {
             try
            {
                 return System.Environment.GetEnvironmentVariable( " ComputerName ");
            }
             catch
            {
                 return  " unknow ";
            }
             finally
            {
            }
        }


    }

 

目录
相关文章
|
22天前
|
存储 监控 算法
电脑监控管理中的 C# 哈希表进程资源索引算法
哈希表凭借O(1)查询效率、动态增删性能及低内存开销,适配电脑监控系统对进程资源数据的实时索引需求。通过定制哈希函数与链地址法冲突解决,实现高效进程状态追踪与异常预警。
143 10
|
5月前
|
监控 算法 安全
公司电脑监控软件关键技术探析:C# 环形缓冲区算法的理论与实践
环形缓冲区(Ring Buffer)是企业信息安全管理中电脑监控系统设计的核心数据结构,适用于高并发、高速率与短时有效的多源异构数据处理场景。其通过固定大小的连续内存空间实现闭环存储,具备内存优化、操作高效、数据时效管理和并发支持等优势。文章以C#语言为例,展示了线程安全的环形缓冲区实现,并结合URL访问记录监控应用场景,分析了其在流量削峰、关键数据保护和高性能处理中的适配性。该结构在日志捕获和事件缓冲中表现出色,对提升监控系统效能具有重要价值。
145 1
|
开发框架 .NET C#
C#|.net core 基础 - 删除字符串最后一个字符的七大类N种实现方式
【10月更文挑战第9天】在 C#/.NET Core 中,有多种方法可以删除字符串的最后一个字符,包括使用 `Substring` 方法、`Remove` 方法、`ToCharArray` 与 `Array.Copy`、`StringBuilder`、正则表达式、循环遍历字符数组以及使用 LINQ 的 `SkipLast` 方法。
394 8
|
存储 C# 索引
C# 一分钟浅谈:数组与集合类的基本操作
【9月更文挑战第1天】本文详细介绍了C#中数组和集合类的基本操作,包括创建、访问、遍历及常见问题的解决方法。数组适用于固定长度的数据存储,而集合类如`List<T>`则提供了动态扩展的能力。文章通过示例代码展示了如何处理索引越界、数组长度不可变及集合容量不足等问题,并提供了解决方案。掌握这些基础知识可使程序更加高效和清晰。
229 6
|
8月前
|
存储 监控 算法
员工电脑监控系统中的 C# 链表算法剖析-如何监控员工的电脑
当代企业管理体系中,员工电脑监控已成为一个具有重要研究价值与实践意义的关键议题。随着数字化办公模式的广泛普及,企业亟需确保员工对公司资源的合理利用,维护网络安全环境,并提升整体工作效率。有效的电脑监控手段对于企业实现这些目标具有不可忽视的作用,而这一过程离不开精妙的数据结构与算法作为技术支撑。本文旨在深入探究链表(Linked List)这一经典数据结构在员工电脑监控场景中的具体应用,并通过 C# 编程语言给出详尽的代码实现与解析。
153 5
|
11月前
|
缓存 算法 安全
精选10款C#/.NET开发必备类库(含使用教程),工作效率提升利器!
精选10款C#/.NET开发必备类库(含使用教程),工作效率提升利器!
328 12
|
C# 数据安全/隐私保护
C# 一分钟浅谈:类与对象的概念理解
【9月更文挑战第2天】本文从零开始详细介绍了C#中的类与对象概念。类作为一种自定义数据类型,定义了对象的属性和方法;对象则是类的实例,拥有独立的状态。通过具体代码示例,如定义 `Person` 类及其实例化过程,帮助读者更好地理解和应用这两个核心概念。此外,还总结了常见的问题及解决方法,为编写高质量的面向对象程序奠定基础。
195 3
|
Java 程序员 C#
【类的应用】C#应用之派生类构造方法给基类构造方法传参赋值
【类的应用】C#应用之派生类构造方法给基类构造方法传参赋值
116 0
Delphi可不可以制作出像c#那样的dll类库?
在Delphi中,创建DLL项目(如dll.dpr)并定义一个类TMyCls后,在另一个项目(如test.dpr)中可以引入此DLL并直接实例化和调用类的方法。然而,Delphi目前主要支持两种DLL形式:动态链接库(需显式声明exports,仅支持函数调用)和ActiveX DLL(需定义IDL接口)。这两种方式都较为繁琐。相比之下,C# 的DLL类库更为便捷,编写并编译后即可在其他项目中直接使用。
|
索引 C语言 存储
【C语言】B树和B+树的解析应用
【C语言】B树和B+树的解析应用
169 0
【C语言】B树和B+树的解析应用

热门文章

最新文章