zoukankan      html  css  js  c++  java
  • C#获取电脑的相关信息

    /* 创建者:菜刀居士的博客
     * 创建日期: 2014年08月31号
     * 功能:获取电脑的相关信息
     *
     */

    namespace Net.String.ConsoleApplication
    {
        using System;
        using System.Management;

        public class ComputerHelper
        {
            /// <summary>
            /// 获取CPU序列号代码
            /// </summary>
            public static string GetCPUId()
            {
                return ExecInfo(() => {
                    ManagementClass mc = new ManagementClass("Win32_Processor");
                    ManagementObjectCollection moc = mc.GetInstances();
                    foreach (ManagementObject mo in moc)
                    {
                        return mo.Properties["ProcessorId"].Value.ToString();
                    }
                    return string.Empty;
                });
            }

            /// <summary>
            /// 获取网卡Mac地址
            /// </summary>
            public static string GetMacAddress()
            {
                return ExecInfo(() => {
                    ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
                    ManagementObjectCollection moc = mc.GetInstances();
                    foreach (ManagementObject mo in moc)
                    {
                        if ((bool)mo["IPEnabled"] == true)
                        {
                            return mo["MacAddress"].ToString();
                        }
                    }
                    return string.Empty;
                });
            }

            /// <summary>
            /// 获取硬盘ID
            /// </summary>
            public static string GetDiskID()
            {
                return ExecInfo(() => {
                    ManagementClass mc = new ManagementClass("Win32_DiskDrive");
                    ManagementObjectCollection moc = mc.GetInstances();
                    foreach (ManagementObject mo in moc)
                    {
                        return (string)mo.Properties["Model"].Value;
                    }
                    return string.Empty;
                });
            }

            /// <summary>
            /// 操作系统的登录username
            /// </summary>
            public static string GetUserName()
            {
                return ExecInfo(() => {
                    ManagementClass mc = new ManagementClass("Win32_ComputerSystem");
                    ManagementObjectCollection moc = mc.GetInstances();
                    foreach (ManagementObject mo in moc)
                    {
                        return mo["UserName"].ToString();
                    }
                    return string.Empty;
                }); 
            }

            /// <summary>
            /// PC类型
            /// </summary>
            public static string GetSystemType()
            {
                return ExecInfo(() =>
                {
                    ManagementClass mc = new ManagementClass("Win32_ComputerSystem");
                    ManagementObjectCollection moc = mc.GetInstances();
                    foreach (ManagementObject mo in moc)
                    {
                        return mo["SystemType"].ToString();
                    }
                    return string.Empty;
                });
            }

            /// <summary>
            /// 物理内存
            /// </summary>
            public static string GetTotalPhysicalMemory()
            {
                return ExecInfo(() =>
                {
                    ManagementClass mc = new ManagementClass("Win32_ComputerSystem");
                    ManagementObjectCollection moc = mc.GetInstances();
                    foreach (ManagementObject mo in moc)
                    {
                        return mo["TotalPhysicalMemory"].ToString();
                    }
                    return string.Empty;
                });
            }

            /// <summary>
            /// 计算机名称
            /// </summary>
            public static string GetComputerName()
            {
                return ExecInfo(() => {
                    return System.Environment.GetEnvironmentVariable("ComputerName");
                });
            }

            private static string ExecInfo(Func<string> func)
            {
                string result = string.Empty;
                try
                {
                    result = func();
                }
                catch
                {
                    return "unknow";
                }
                finally { }
                return result;
            }

            /// <summary>
            /// 得到clientIP地址
            /// </summary>
            public string GetClientIdAddress()
            {
                string ip = string.Empty;
                try
                {
                    if (System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_ForWARDED_For"] == null)
                        ip = System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString();
                    else
                        ip = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_ForWARDED_For"].ToString();

                    if (string.IsNullOrEmpty(ip))
                    {
                        ip = System.Web.HttpContext.Current.Request.UserHostAddress;
                    }
                }
                catch { ip = "1.1.1.1"; }
                return ip;
            }
       
           
        }
    }

  • 相关阅读:
    jBox使用方法
    第五章 引用类型
    第四章 变量、作用域、内存问题
    第二章 在HTML中使用JavaScript
    第三章 基本概念
    第一章 JavaScript简介
    ecmall 添加自定义挂件以及解决一直loading的问题
    急急如律令!火速搭建一个C#即时通信系统!(附源码分享——高度可移植!)
    委托笔记
    Oracle ORA-01461:仅可以为插入LONG列的LONG值赋值
  • 原文地址:https://www.cnblogs.com/yxysuanfa/p/7197240.html
Copyright © 2011-2022 走看看