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;
            }
       
           
        }
    }

  • 相关阅读:
    linux之间文件共享的方式
    linux访问windows文件的方法
    linux下samba配置
    linux下ftp搭建
    windws下搭建ftp步骤
    索引的二元高度
    Oracle表的分析统计
    oracle———索引
    这些git技能够你用一年了
    使用 Composer 为 ThinkPHP(3.2.3)框架添加和管理组件
  • 原文地址:https://www.cnblogs.com/yxysuanfa/p/7197240.html
Copyright © 2011-2022 走看看