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

  /// <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
            {
            }
        }

    }

 

时间: 2024-10-29 20:03:01

C#常用操作类库五(电脑操作类)的相关文章

C#操作操作类库五(字符串的常用扩展方法)

验证字符串是否由正负号(+-).数字.小数点构成,并且最多只有一个小数点 验证字符串是否仅由[0-9]构成 验证字符串是否由字母和数字构成 验证是否为空字符串.若无需裁切两端空格,建议直接使用 String.IsNullOrEmpty(string) 裁切字符串(中文按照两个字符计算) 裁切字符串(中文按照两个字符计算,裁切前会先过滤 Html 标签) 过滤HTML标签 获取字符串长度.与string.Length不同的是,该方法将中文作 2 个字符计算. 将形如 10.1MB 格式对用户友好的

常用的60招电脑操作

  1.如果同时有多个窗口打开,想要关闭的话,可以按住shift不放然后点击窗口右上角的关闭图标. 2.在保存网页前,可以按一下"ESC"键(或脱机工作)再保存,这样保存很快 3.用电脑听CD可以不用任何的播放软件,把音箱线直接接到光驱的耳机孔,放入CD,按光驱上的play键就可以直接听了,这样听歌可以不占用系统资源.(如果你的电脑坏了,不能启动或什么的,一时放在那不能修,千万不要浪费资源,把用里面的电源给光驱通上电,就可以暂时做CD机了. 4.MSN中发消息的时候是按enter的,如

Selenium2(WebDriver)总结(五)---元素操作进阶(常用类)

 1.Alert类  Alert是指windows弹窗的一些操作,需要new一个Alert类  driver.switchTo().alert():切换到alert窗口  alert.getText():取得弹窗上面的字符串  alert.accept():点击确定/ok类的按钮,使弹窗消失  alert.dismiss():取消 public void testAlert(){ WebElement element = driver.findElement(By.className("aler

.NET 下的数据库操作类库(MyADO)

ado|数据|数据库 目前大多数开发人员长期从事企业开发的工作,免不了经常和数据库打交道,频繁的数据操作的代码就在项目中到处出现,为了去掉这些代码中"重复"的臭味,一些人写了数据库操作的类库,包括很多大企业也有自己的组件,但是实现方法可能各有不同吧.很早以前看过一遍孙亚民先生的文章也是设计模式的应用,很有启发自己也写了.net下的数据库操作类库,其实早就想把它出来共享了,现在很多数据库组件也很成熟了,又有SqlHelper这样权威的,所以也就不用拿我这个组件和它们的比较了,就算给大家扩

Ubuntu电脑操作基础:终端和命令行

  1.启动终端 1)点菜单"应用程序-附件-终端"命令,打开一个终端窗口; 2)出来一个终端窗口,标题栏上是自己的用户名和计算机名,窗口中一个光标一闪一闪,表示可以输入命令了; ; 上面的 ~ 表示自己的主文件夹,$ 表示普通命令提示符,如果是 # 则表示是管理员提示符; 2.常用命令 1)ls 命令,在提示符$后面输入ls,然后按回车键,可以显示当前目录下的文件和文件夹; 2)启动文本编辑器,或其他文本工具,输入命令 gedit 然后按一下回车键; ; 这时候会出来一个文本编辑器的

动态分配的顺序线性表的十五种操作—C语言实现

线性表 定义:是最常用的,也是最简单的数据结构,是长度为n个数据元素的有序的序列. 含有大量记录的线性表叫文件 记录:稍微复杂的线性表里,数据元素为若干个数据项组成,这时把一个数据元素叫记录 结构特点:在非空有限的条件下,存在唯一的一个表头结点,唯一的一个表尾结点,除去第一个元素之外,每个数据元素都只有一个前驱,除去最后一个元素之外,每一个数据元素都只有一个后继. 注意:线性表中的数据元素可以是各种各样的,但同一线性表中的元素必定具有相同特性(属于同一数据对象,类似数组).线性表的数据元素间有序

linux中shell常用操作命令系列:服务操作

务的基本操作     /etc/init.d/sendmail start                   # 启动服务      /etc/init.d/sendmail stop                    # 关闭服务     /etc/init.d/sendmail status                  # 查看服务当前状态     /date/mysql/bin/mysqld_safe --user=mysql &   # 启动mysql后台运行     vi

电脑操作:实用Win10组合快捷键推荐

电脑操作:实用Win10组合快捷键推荐   Win+D(桌面最小化) 有时候桌面同时打开的应用太多,想要快速回到桌面怎么办?最快的就是这个快捷键了.这项功能可以说是Win10中最为实用的其中一个,只需要按下Win+D,所有运行中的窗口都会立刻最小化,非常方便,一些上班族怕给上司看到,真在逛淘宝,用这招很有用. Win+E 刚升级Win10的用户,可能一下子找不到资源管理器,这时候只需要按下Win+E就可以轻松找到了,无需去找此电脑(我的电脑). Win+Home:(迅速关闭活动窗口) 我们经常会

Ubuntu电脑操作基础:桌面背景,屏保和电源

  一个干净整洁的桌面,有利于我们操作电脑,如何设置一个漂亮的背景,我们来看一个练习; 1.桌面背景 1)在桌面空白处点右键,在出来的菜单里选"更改桌面背景"命令,出来一个对话框面板; 2)在出来的"外观"面板上边有一排标签,第二个就是"背景",其他还有主题.字体.界面.效果等; 3)点右边的"添加"按钮,出来一个"添加壁纸"对话框,找到自己的图片文件夹,选择一幅图片,点"打开"; 4)