C#.Net获取Mac等PC信息

止乎于分享

using System.Management;
using System.Net;
    public class PCInfoHelper
    {
        /// <summary>
        /// 操作系统的登录用户名
        /// </summary>
        /// <returns></returns>
        public static string GetUserName()
        {
            try
            {
                string username = "";
                ManagementClass mc = new ManagementClass("Win32_ComputerSystem");
                ManagementObjectCollection moc = mc.GetInstances();
                foreach (ManagementObject mo in moc)
                {
                    username = mo["UserName"].ToString();
                }
                return username;
            }
            catch
            {
                return "unknow";
            }
        }

        /// <summary>
        /// 获取MAC地址
        /// </summary>
        /// <returns></returns>
        public static 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;
                    }
                }
                return mac;
            }
            catch
            {
                return "unknow";
            }
        }

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

        /// <summary>
        /// 获取CPU ID
        /// </summary>
        /// <returns></returns>
        public static string GetCpuID()
        {
            try
            {
                string cpuid = "";
                ManagementClass mc = new ManagementClass("Win32_Processor");
                ManagementObjectCollection moc = mc.GetInstances();
                foreach (ManagementObject mo in moc)
                {
                    cpuid = mo.Properties["ProcessorId"].Value.ToString();
                }
                return cpuid;
            }
            catch
            {
                return "unknow";
            }
        }

        /// <summary>
        /// 系统名称
        /// </summary>
        /// <returns></returns>
        public static string GetSystemType()
        {
            try
            {
                string systype = "";
                ManagementClass mc = new ManagementClass("Win32_ComputerSystem");
                ManagementObjectCollection moc = mc.GetInstances();
                foreach (ManagementObject mo in moc)
                {
                    systype = mo["SystemType"].ToString();
                }
                return systype;
            }
            catch
            {
                return "unknow";
            }
        }

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

        /// <summary>
        /// 获取客户端内网IP地址
        /// </summary>
        /// <returns></returns>
        public static string GetLocalIPAddress()
        {
            try
            {
                string localIP = null;
                IPHostEntry ipHost = System.Net.Dns.GetHostEntry(Dns.GetHostName());
                IPAddress ipaddress = ipHost.AddressList[0];
                localIP = ipaddress.ToString();
                return "内网IP地址:" + localIP;
            }
            catch
            {
                return "内网IP地址:unknown";
            }
        }

        /// <summary>
        /// 获得客户端外网IP地址
        /// </summary>
        /// <returns>IP地址</returns>
        public static string GetInternetIPAddress()
        {
            try
            {
                string internetIP = "";
                using (WebClient webClient = new WebClient())
                {
                    internetIP = webClient.DownloadString("http://www.coridc.com/ip");//从外部网页获得IP地址
                    //判断IP是否合法
                    if (!System.Text.RegularExpressions.Regex.IsMatch(internetIP, "[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}"))
                    {
                        internetIP = webClient.DownloadString("http://fw.qq.com/ipaddress");//从腾讯提供的API中获得IP地址
                    }
                }
                return "外网IP地址:" + internetIP;
            }
            catch
            {
                return "外网IP地址:unknown";
            }
        }
    }

C#.Net获取Mac等PC信息

时间: 2024-08-02 04:03:04

C#.Net获取Mac等PC信息的相关文章

C#获取电脑的相关信息

/* 创建者:菜刀居士的博客 * 创建日期: 2014年08月31号 * 功能:获取电脑的相关信息 * */ namespace Net.String.ConsoleApplication { using System; using System.Management; public class ComputerHelper { /// <summary> /// 获取CPU序列号代码 /// </summary> public static string GetCPUId() {

C#获取当前主机硬件信息

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks; using System.Net;using System.Management;  //在项目->添加引用....里面引用System.Managementusing System.Runtime.InteropServices; namespace FileSplit{

iOS 蓝牙获取MAC地址

援引:http://www.jianshu.com/p/1d6a8fc8134f iOS要获取蓝牙设备的MAC地址有两种:一是硬件工程师开通的服务特征下有MAC的信息,我们就从通道中获取:二是硬件工程师在扫描中设备信息中放置MAC信息,我们从有RSSI的函数中获取 1.形如你所在其他网站上看到的在某写板子模块上的服务如:"A180"的,其下均有获取到MAC的特征.此处我们略过,因为其他地方说的很清楚了,援引处也有.需要硬件配和加入服务特征. 2.就是在有RSSI的函数中获取. 首先先让

浪潮服务器通过ipmitool获取mac地址

一.GPU服务器 #配置两个主板集成千兆四个外插PCI万兆网卡# 板载网卡可以使用命令获取到:RAW 0X30 0X21 就可以读取到第一块网卡的MAC,就是以下返回值的后6位. 0c,c4,7a,55,4d,6c. 0x30 0x9F => 黃色圈指出在第一个LAN后有多少LAN Mac, 红色框为第二个LAN mac 获取第一个主板集成千兆网卡 ipmitool -I lanplus -H 10.28.115.11 -U ADMIN -P ADMIN raw 0x30 0x21 获取其他其他

Web系统如何做到读取客户电脑MAC等硬件信息且兼容非IE浏览器

我们在实际Web应用中,可能会遇到“需要限定特定的电脑或用户才能使用系统”的问题. 对于一般情况来说,我们用得最多的可能是使用ActiveX控件的方法来实现,但此方案只适用于IE浏览器.为了能兼容不同的浏览器,如FireFox等,我们就需要考虑到一种比较通用的方法.此方法我们可以参考“在很多网站中,会在网页的某个地方给一个链接来直接启动QQ来聊天”.这种方法可以实现Web系统来调用客户端电脑的某个exe文件(前提是在客户端必须安装需调用的exe应用程序).QQ的解决方法是采用在OS中注册一种自定

C/C++通过WMI和系统API函数获取获取系统硬件配置信息

转载:http://www.cnblogs.com/renyuan/archive/2012/12/29/2838716.html 转载:http://blog.csdn.net/jhqin/article/details/5548656 转载:http://blog.csdn.net/dongdan_002/article/details/42460343 头文件WMIInfo.h 1 /*****************************************************

android获取Mac地址和IP地址

获取Mac地址实际项目中测试了如下几种方法:(1)设备开通Wifi连接,获取到网卡的MAC地址(但是不开通wifi,这种方法获取不到Mac地址,这种方法也是网络上使用的最多的方法) //根据Wifi信息获取本地Mac public static String getLocalMacAddressFromWifiInfo(Context context){ WifiManager wifi = (WifiManager) context.getSystemService(Context.WIFI_

C#获取MAC地址的几种方法

首先需要用到的一些方法和类: public enum NCBCONST { NCBNAMSZ = 16, MAX_LANA = 254, NCBENUM = 0x37, NRC_GOODRET = 0x00, NCBRESET = 0x32, NCBASTAT = 0x33, NUM_NAMEBUF = 30, } [StructLayout(LayoutKind.Sequential)] public struct ADAPTER_STATUS { [MarshalAs(UnmanagedTy

【转载】获取MAC地址方法大全

From:http://blog.csdn.net/han2814675/article/details/6223617 Windows平台下用C++代码取得机器的MAC地址并不是一件简单直接的事情.到目前为止,作者尚未发现有任何一个通用的100%的适用于所有Windows平台的方法可以稳定的取得MAC地址.而有些应用(比如MMORPG)则需要稳定的得到机器的MAC地址,解决方案往往是通过多种方法依次使用来提高成功率. 说明: 以下方法只会返回多网卡的第一个MAC地址. 网上有很多文章和源码来解