GVKun编程网logo

C# 获取计算机相关信息(c#获取电脑信息)

11

在本文中,我们将详细介绍C#获取计算机相关信息的各个方面,并为您提供关于c#获取电脑信息的相关解答,同时,我们也将为您带来关于AD命令获取计算机、用户相关信息、android获取手机相关信息、Andr

在本文中,我们将详细介绍C# 获取计算机相关信息的各个方面,并为您提供关于c#获取电脑信息的相关解答,同时,我们也将为您带来关于AD命令获取计算机、用户相关信息、android 获取手机相关信息、Android之获取手机相关信息、C# 获取计算机唯一标识的有用知识。

本文目录一览:

C# 获取计算机相关信息(c#获取电脑信息)

C# 获取计算机相关信息(c#获取电脑信息)

整理了一个关于计算机相关系统的资料

需要引入命名空间:

1. 在''解决方案资源管理器'' 窗口中->右击项目-> ''添加'' -> ''引用'' 弹出引用管理器

2. 在引用处理器中,程序集-> 框架 -> 选中 ''System.Management'' -> 确认

using System;
using System.Management;
using System.IO;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Management;
using System.IO;

namespace WindowsFormsApp1
{
    /// <summary> 
    /// 计算机信息类
    /// </summary> 
    public class GetComputerInfo
    {
        public string CpuID;//Cpu编号
        public string MacAddress;//Mac地址
        public string DiskID;//磁盘ID
        public string IpAddress;//IP地址
        public string LoginUserName;//系统用户名
        public string ComputerName;//计算机名称
        public string SystemType;//系统类型
        public string TotalPhysicalMemory; //单位:M 
        private static GetComputerInfo _instance;
        
        public static GetComputerInfo GetInstance()
        {
            if (_instance == null)
                _instance = new GetComputerInfo();
            return _instance;
        }
        public GetComputerInfo()
        {
            CpuID = GetCpuID();
            MacAddress = GetMacAddress();
            DiskID = GetDiskID();
            IpAddress = GetIPAddress();
            LoginUserName = GetUserName();
            SystemType = GetSystemType();
            TotalPhysicalMemory = GetTotalPhysicalMemory();
            ComputerName = GetComputerName();
        }
        /// <summary>
        /// 获取CPU的个数
        /// </summary>
        /// <returns></returns>
        public static int GetCpuCount()
        {
            try
            {
                using (ManagementClass mCpu = new ManagementClass("Win32_Processor"))
                {
                    ManagementObjectCollection cpus = mCpu.GetInstances();
                    return cpus.Count;
                }
            }
            catch
            {
            }
            return -1;
        }

       /// <summary>
       /// 获取CPU的频率 这里之所以使用string类型的数组,主要是因为cpu的多核
       /// </summary>
       /// <returns></returns>
       public static string[] GetCpuMHZ()
        {
            ManagementClass mc = new ManagementClass("Win32_Processor");
            ManagementObjectCollection cpus = mc.GetInstances();
            string[] mHz = new string[cpus.Count];
            int c = 0;
            ManagementObjectSearcher mySearch = new ManagementObjectSearcher("select * from Win32_Processor");
            foreach (ManagementObject mo in mySearch.Get())
            {
                mHz[c] = mo.Properties["CurrentClockSpeed"].Value.ToString();
                c++;
            }
            mc.Dispose();
            mySearch.Dispose();
            return mHz;
        }
        /// <summary>
        /// 获取本机硬盘的大小
        /// </summary>
        /// <returns></returns>
        public static string GetSizeOfDisk()
        {
            ManagementClass mc = new ManagementClass("Win32_DiskDrive");
            ManagementObjectCollection moj = mc.GetInstances();
            foreach (ManagementObject m in moj)
            {
                return m.Properties["Size"].Value.ToString();
            }
            return "-1";
        }
        /// <summary>
        ///  获取本机内存的大小:
        /// </summary>
        /// <returns></returns>
        public static string GetSizeOfMemery()
        {
            ManagementClass mc = new ManagementClass("Win32_OperatingSystem");
            ManagementObjectCollection moc = mc.GetInstances();
            double sizeAll = 0.0;
            foreach (ManagementObject m in moc)
            {
                if (m.Properties["TotalVisibleMemorySize"].Value != null)
                {
                    sizeAll += Convert.ToDouble(m.Properties["TotalVisibleMemorySize"].Value.ToString());
                }
            }
            mc = null;
            moc.Dispose();
            return sizeAll.ToString();
        }
      
        /// <summary>
        /// 获取磁盘剩余空间
        /// </summary>
        /// <param name="str_HardDiskName"></param>
        /// <returns></returns>
        long GetHardDiskFreeSpace(string str_HardDiskName)
        {
            long num = 0L;
            str_HardDiskName = str_HardDiskName + @":\";
            foreach (DriveInfo info in DriveInfo.GetDrives())
            {
                if (info.Name.ToUpper() == str_HardDiskName.ToUpper())
                {
                    num = info.TotalFreeSpace / 0x100000L;
                }
            }
            return num;
        }

        //获得CPU编号
        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";
            }
        }
        //获得Mac地址
        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";
            }
        }
        //获得Ip地址
        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";
            }
        }
        //获得磁盘Id
        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";
            }
        }
        /// <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";
            }
        }
        /// <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";
            }
        }

        /// <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";
            }
        }
        /// <summary> 
        ///  获取计算机名称
        /// </summary> 
        /// <returns></returns> 
        string GetComputerName()
        {
            try
            {
                return System.Environment.GetEnvironmentVariable("ComputerName");
            }
            catch
            {
                return "unknow";
            }
        }
    }
}

 ok,今天分享到这了,如果有疑问的可以留言,讲的不对的欢迎指出!!!

AD命令获取计算机、用户相关信息

AD命令获取计算机、用户相关信息

1. 获取AD用户相关信息(用户名、创建日期、最后修改密码日期、最后登录日期)

Get AD users, Name/Created Date/Last change passwd Date/Last logon Date

Get-ADuser -filter * -Properties * | Select-Object Name,SID, Created,PasswordLastSet,@{n="lastLogonDate";e={[datetime]::FromFileTime($_.lastLogonTimestamp)}} | Export-CSV Accountlist.csv -NoTypeInformation -Encoding UTF8

 

2. 获取AD中计算机相关信息(计算机名、系统、最后登录日期、系统版本)
Get AD Computers,Name/OS/LastlogonDate/OS Version


Get-ADComputer -Filter * -Property * | Select-Object Name,OperatingSystem,LastLogonDate,OperatingSystemServicePack,OperatingSystemVersion | Export-CSV AllWindows.csv -NoTypeInformation -Encoding UTF8

 


3. 迁移域中90天没有登录的计算机到新的OU

Move Computers which not logon for 90 days to a new OU

dsquery computer -stalepwd 90 -limit 0 | Move-Adobject -TargetPath "OU=OldComputors,DC=netbrain,DC=com"

 

 

参考:

https://social.technet.microsoft.com/wiki/contents/articles/5819.ad-powershell-for-active-directory-administrators.aspx

android 获取手机相关信息

android 获取手机相关信息

String phoneInfo = "Product: " + android.os.Build.PRODUCT;
        phoneInfo 
+= ", CPU_ABI: " + android.os.Build.CPU_ABI;
        phoneInfo 
+= ", TAGS: " + android.os.Build.TAGS;
        phoneInfo 
+= ", VERSION_CODES.BASE: " + android.os.Build.VERSION_CODES.BASE;
        phoneInfo 
+= ", MODEL: " + android.os.Build.MODEL;
        phoneInfo 
+= ", SDK: " + android.os.Build.VERSION.SDK;
        phoneInfo 
+= ", VERSION.RELEASE: " + android.os.Build.VERSION.RELEASE;
        phoneInfo 
+= ", DEVICE: " + android.os.Build.DEVICE;
        phoneInfo 
+= ", DISPLAY: " + android.os.Build.DISPLAY;
        phoneInfo 
+= ", BRAND: " + android.os.Build.BRAND;
        phoneInfo 
+= ", BOARD: " + android.os.Build.BOARD;
        phoneInfo 
+= ", FINGERPRINT: " + android.os.Build.FINGERPRINT;
        phoneInfo 
+= ", ID: " + android.os.Build.ID;
        phoneInfo 
+= ", MANUFACTURER: " + android.os.Build.MANUFACTURER;
        phoneInfo 
+= ", USER: " + android.os.Build.USER;
        
// Toast.makeText(this, phoneInfo, Toast.LENGTH_LONG).show();
        TextView t = (TextView) findViewById(R.id.main_phoneinfo);
        t.setText(phoneInfo);

Android之获取手机相关信息

Android之获取手机相关信息

一、Android 获取手机中已安装apk文件信息(PackageInfo、ResolveInfo)(应用图片、应用名、包名等)
1、通过PackageManager可获取手机端已安装的apk文件的信息,具体代码如下:

  • PackageManager packageManager = this.getPackageManager();  

  • List<PackageInfo> packageInfoList = packageManager.getInstalledPackages(0);  


通过上述方法,可得到手机中安装的所有应用程序,包括手动安装的apk包的信息、、系统预装的应用软件的信息,要区分这两类软件可使用以下方法:
(a) 从packageInfoList获取的packageInfo,再通过packageInfo.applicationInfo获取applicationInfo。
(b) 判断(applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM)的值,该值大于0时,表示获取的应用为系统预装的应用,反之则为手动安装的应用。
(1)获取应用的代码:

  • public static List<PackageInfo> getAllApps(Context context) {  

  •         List<PackageInfo> apps = new ArrayList<PackageInfo>();  

  •         PackageManager pManager = context.getPackageManager();  

  •         // 获取手机内所有应用  

  •         List<PackageInfo> paklist = pManager.getInstalledPackages(0);  

  •         for (int i = 0; i < paklist.size(); i++) {  

  •             PackageInfo pak = (PackageInfo) paklist.get(i);  

  •             // 判断是否为非系统预装的应用程序  

  •             if ((pak.applicationInfo.flags & pak.applicationInfo.FLAG_SYSTEM) <= 0) {  

  •                 apps.add(pak);  

  •             }  

  •         }  

  •         return apps;  

  •     }  



(2)、获取图片、应用名、包名(ShareItemInfo 类是自己写的,忽视吧):

  • PackageManager pManager = MessageSendActivity.this.getPackageManager();  

  • List<PackageInfo> appList  = Utils.getAllApps(MessageSendActivity.this);  

  • for(int i=0;i<appList.size();i++) {  

  •     PackageInfo pinfo = appList.get(i);  

  •     shareItem = new ShareItemInfo();  

  •     shareItem.setIcon(pManager.getApplicationIcon(pinfo.applicationInfo));  

  •     shareItem.setLabel(pManager.getApplicationLabel(pinfo.applicationInfo).toString());  

  •     shareItem.setPackageName(pinfo.applicationInfo.packageName);  

  • }  



(3)获取支持分享的应用的代码:

  • public static List<ResolveInfo> getShareApps(Context context){  

  •     List<ResolveInfo> mApps = new ArrayList<ResolveInfo>();   

  •     Intent intent=new Intent(Intent.ACTION_SEND,null);   

  •     intent.addCategory(Intent.CATEGORY_DEFAULT);   

  •     intent.setType("text/plain");   

  •     PackageManager pManager = context.getPackageManager();  

  •     mApps = pManager.queryIntentActivities(intent,PackageManager.COMPONENT_ENABLED_STATE_DEFAULT);   

  •   return mApps;   

  • }  


由于该方法,返回的并不是PackageInfo 对象。而是ResolveInfo。因此获取图片、应用名、包名的方法不一样,如下:

  • PackageManager pManager = MessageSendActivity.this.getPackageManager();      

  • List<ResolveInfo> resolveList  = Utils.getShareApps(MessageSendActivity.this);  

  • for(int i=0;i<resolveList.size();i++) {  

  •     ResolveInfo resolve = resolveList.get(i);  

  •     ShareItemInfo shareItem = new ShareItemInfo();  

  •     //set Icon  

  •     shareItem.setIcon(resolve.loadIcon(pManager));  

  •     //set Application Name  

  •     shareItem.setLabel(resolve.loadLabel(pManager).toString());  

  •     //set Package Name   

  •     shareItem.setPackageName(resolve.activityInfo.packageName);  

  • }   



总结:
通过 PackageInfo 获取具体信息方法:
包名获取方法:packageInfo.packageName
icon获取获取方法:packageManager.getApplicationIcon(applicationInfo)
应用名称获取方法:packageManager.getApplicationLabel(applicationInfo)
使用权限获取方法:packageManager.getPackageInfo(packageName,PackageManager.GET_PERMISSIONS)
.requestedPermissions
通过 ResolveInfo 获取具体信息方法:
包名获取方法:resolve.activityInfo.packageName
icon获取获取方法:resolve.loadIcon(packageManager)
应用名称获取方法:resolve.loadLabel(packageManager).toString()

二、获取手机可用内存和总内存(手机的内存信息主要在/proc/meminfo文件中,其中第一行是总内存,而剩余内存可通过ActivityManager.MemoryInfo得到):

  • private String[] getTotalMemory() {   

  •             String[] result = {"",""};  //1-total 2-avail   

  •             ActivityManager.MemoryInfo mi = new ActivityManager.MemoryInfo();     

  •             mActivityManager.getMemoryInfo(mi);     

  •             long mTotalMem = 0;   

  •             long mAvailMem = mi.availMem;   

  •             String str1 = "/proc/meminfo";   

  •             String str2;   

  •             String[] arrayOfString;   

  •             try {   

  •                 FileReader localFileReader = new FileReader(str1);   

  •                 BufferedReader localBufferedReader = new BufferedReader(localFileReader, 8192);   

  •                 str2 = localBufferedReader.readLine();   

  •                 arrayOfString = str2.split("\\s+");   

  •                 mTotalMem = Integer.valueOf(arrayOfString[1]).intValue() * 1024;   

  •                 localBufferedReader.close();   

  •             } catch (IOException e) {   

  •                 e.printStackTrace();   

  •             }   

  •             result[0] = Formatter.formatFileSize(this, mTotalMem);   

  •             result[1] = Formatter.formatFileSize(this, mAvailMem);   

  •             Log.i(TAG, "meminfo total:" + result[0] + " used:" + result[1]);   

  •             return result;   

  •     }  




三、获取手机CPU信息(和内存信息同理,cpu信息可通过读取/proc/cpuinfo文件来得到,其中第一行为cpu型号,第二行为cpu频率):

  • private String[] getCpuInfo() {   

  •              String str1 = "/proc/cpuinfo";   

  •              String str2 = "";   

  •              String[] cpuInfo = {"", ""};  //1-cpu型号  //2-cpu频率   

  •              String[] arrayOfString;   

  •              try {   

  •                  FileReader fr = new FileReader(str1);   

  •                  BufferedReader localBufferedReader = new BufferedReader(fr, 8192);   

  •                  str2 = localBufferedReader.readLine();   

  •                  arrayOfString = str2.split("\\s+");   

  •                  for (int i = 2; i < arrayOfString.length; i++) {   

  •                      cpuInfo[0] = cpuInfo[0] + arrayOfString + " ";   

  •                  }   

  •                  str2 = localBufferedReader.readLine();   

  •                  arrayOfString = str2.split("\\s+");   

  •                  cpuInfo[1] += arrayOfString[2];   

  •                  localBufferedReader.close();   

  •              } catch (IOException e) {   

  •              }   

  •              Log.i(TAG, "cpuinfo:" + cpuInfo[0] + " " + cpuInfo[1]);   

  •              return cpuInfo;   

  •          }  



四、获取手机MAC地址:

  • private String getMacAddress(){   

  •          String result = "";   

  •          WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);   

  •          WifiInfo wifiInfo = wifiManager.getConnectionInfo();   

  •          result = wifiInfo.getMacAddress();   

  •          Log.i(TAG, "macAdd:" + result);   

  •          return result;   

  • }  




五、获取屏幕密度三种方法:

  • // 获取屏幕密度(方法1)  

  • int screenWidth  = getWindowManager().getDefaultDisplay().getWidth();       // 屏幕宽(像素,如:480px)  

  • int screenHeight = getWindowManager().getDefaultDisplay().getHeight();      // 屏幕高(像素,如:800p)  

  •    

  • Log.e(TAG + "  getDefaultDisplay", "screenWidth=" + screenWidth + "; screenHeight=" + screenHeight);  

  •    

  •    

  • // 获取屏幕密度(方法2)  

  • DisplayMetrics dm = new DisplayMetrics();  

  • dm = getResources().getDisplayMetrics();  

  •    

  • float density  = dm.density;        // 屏幕密度(像素比例:0.75/1.0/1.5/2.0)  

  • int densityDPI = dm.densityDpi;     // 屏幕密度(每寸像素:120/160/240/320)  

  • float xdpi = dm.xdpi;            

  • float ydpi = dm.ydpi;  

  •    

  • Log.e(TAG + "  DisplayMetrics", "xdpi=" + xdpi + "; ydpi=" + ydpi);  

  • Log.e(TAG + "  DisplayMetrics", "density=" + density + "; densityDPI=" + densityDPI);  

  •    

  • screenWidth  = dm.widthPixels;      // 屏幕宽(像素,如:480px)  

  • screenHeight = dm.heightPixels;     // 屏幕高(像素,如:800px)  

  •    

  • Log.e(TAG + "  DisplayMetrics(111)", "screenWidth=" + screenWidth + "; screenHeight=" + screenHeight);  

  •    

  •    

  •    

  • // 获取屏幕密度(方法3)  

  • dm = new DisplayMetrics();  

  • getWindowManager().getDefaultDisplay().getMetrics(dm);  

  •    

  • density  = dm.density;      // 屏幕密度(像素比例:0.75/1.0/1.5/2.0)  

  • densityDPI = dm.densityDpi;     // 屏幕密度(每寸像素:120/160/240/320)  

  • xdpi = dm.xdpi;           

  • ydpi = dm.ydpi;  

  •    

  • Log.e(TAG + "  DisplayMetrics", "xdpi=" + xdpi + "; ydpi=" + ydpi);  

  • Log.e(TAG + "  DisplayMetrics", "density=" + density + "; densityDPI=" + densityDPI);  

  •    

  • int screenWidthDip = dm.widthPixels;        // 屏幕宽(dip,如:320dip)  

  • int screenHeightDip = dm.heightPixels;      // 屏幕宽(dip,如:533dip)  

  •    

  • Log.e(TAG + "  DisplayMetrics(222)", "screenWidthDip=" + screenWidthDip + "; screenHeightDip=" + screenHeightDip);  

  •    

  • screenWidth  = (int)(dm.widthPixels * density + 0.5f);      // 屏幕宽(px,如:480px)  

  • screenHeight = (int)(dm.heightPixels * density + 0.5f);     // 屏幕高(px,如:800px)  

  •    

  • Log.e(TAG + "  DisplayMetrics(222)", "screenWidth=" + screenWidth + "; screenHeight=" + screenHeight);  



C# 获取计算机唯一标识

C# 获取计算机唯一标识

  1         private static string _sFingerPrint { get; set; }
  2 
  3         /// <summary>
  4         /// 计算机唯一标识
  5         /// </summary>
  6         public static string sFingerPrint
  7         {
  8             get
  9             {
 10                 if (string.IsNullOrEmpty(_sFingerPrint))
 11                 {
 12                     _sFingerPrint = GetHash("UUID >> " + UUID() + "\r\nCPU >> " + CpuId() + "\r\nBIOS >> " +
 13                     BiosId() + "\r\nBASE >> " + BaseId() + "\r\nDisk >> " + DiskId() + "\r\nVideo >> " +
 14                     VideoId() + "\r\nMAC >> " + MacId());
 15                 }
 16                 return _sFingerPrint;
 17             }
 18         }
 19 
 20         /// <summary>
 21         /// 获取硬件标识符
 22         /// </summary>
 23         /// <param name="wmiClass"></param>
 24         /// <param name="wmiProperty"></param>
 25         /// <param name="wmiMustBeTrue"></param>
 26         /// <returns></returns>
 27         private static string identifier(string wmiClass, string wmiProperty, string wmiMustBeTrue)
 28         {
 29             string result = "";
 30             System.Management.ManagementClass mc =
 31         new System.Management.ManagementClass(wmiClass);
 32             System.Management.ManagementObjectCollection moc = mc.GetInstances();
 33             foreach (System.Management.ManagementObject mo in moc)
 34             {
 35                 if (mo[wmiMustBeTrue].ToString() == "True")
 36                 {
 37                     //Only get the first one
 38                     if (result == "")
 39                     {
 40                         try
 41                         {
 42                             result = mo[wmiProperty].ToString();
 43                             break;
 44                         }
 45                         catch
 46                         {
 47                         }
 48                     }
 49                 }
 50             }
 51             return result;
 52         }
 53         /// <summary>
 54         /// 获取硬件标识符
 55         /// </summary>
 56         /// <param name="wmiClass"></param>
 57         /// <param name="wmiProperty"></param>
 58         /// <returns></returns>
 59         private static string identifier(string wmiClass, string wmiProperty)
 60         {
 61             string result = "";
 62             System.Management.ManagementClass mc =
 63         new System.Management.ManagementClass(wmiClass);
 64             System.Management.ManagementObjectCollection moc = mc.GetInstances();
 65             foreach (System.Management.ManagementObject mo in moc)
 66             {
 67                 //Only get the first one
 68                 if (result == "")
 69                 {
 70                     try
 71                     {
 72                         result = mo[wmiProperty].ToString();
 73                         break;
 74                     }
 75                     catch
 76                     {
 77                     }
 78                 }
 79             }
 80             return result;
 81         }
 82 
 83         /// <summary>
 84         /// 获取UUID
 85         /// </summary>
 86         /// <returns></returns>
 87         public static string UUID()
 88         {
 89             string code = null;
 90             SelectQuery query = new SelectQuery("select * from Win32_ComputerSystemProduct");
 91             using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(query))
 92             {
 93                 foreach (var item in searcher.Get())
 94                 {
 95                     using (item)
 96                         code = item["UUID"].ToString();
 97                 }
 98             }
 99             return code;
100         }
101 
102         /// <summary>
103         /// 获取CPUID
104         /// </summary>
105         /// <returns></returns>
106         public static string CpuId()
107         {
108             //Uses first CPU identifier available in order of preference
109             //Don''t get all identifiers, as it is very time consuming
110             string retVal = identifier("Win32_Processor", "UniqueId");
111             if (retVal == "") //If no UniqueID, use ProcessorID
112             {
113                 retVal = identifier("Win32_Processor", "ProcessorId");
114                 if (retVal == "") //If no ProcessorId, use Name
115                 {
116                     retVal = identifier("Win32_Processor", "Name");
117                     if (retVal == "") //If no Name, use Manufacturer
118                     {
119                         retVal = identifier("Win32_Processor", "Manufacturer");
120                     }
121                     //Add clock speed for extra security
122                     retVal += identifier("Win32_Processor", "MaxClockSpeed");
123                 }
124             }
125             return retVal;
126         }
127         /// <summary>
128         /// 获取BIOSID
129         /// </summary>
130         /// <returns></returns>
131         public static string BiosId()
132         {
133             return identifier("Win32_BIOS", "Manufacturer")
134             + identifier("Win32_BIOS", "SMBIOSBIOSVersion")
135             + identifier("Win32_BIOS", "IdentificationCode")
136             + identifier("Win32_BIOS", "SerialNumber")
137             + identifier("Win32_BIOS", "ReleaseDate")
138             + identifier("Win32_BIOS", "Version");
139         }
140         /// <summary>
141         /// 获取硬盘ID
142         /// </summary>
143         /// <returns></returns>
144         public static string DiskId()
145         {
146             return identifier("Win32_DiskDrive", "Model")
147             + identifier("Win32_DiskDrive", "Manufacturer")
148             + identifier("Win32_DiskDrive", "Signature")
149             + identifier("Win32_DiskDrive", "TotalHeads");
150         }
151         /// <summary>
152         /// 获取主板ID
153         /// </summary>
154         /// <returns></returns>
155         public static string BaseId()
156         {
157             return identifier("Win32_BaseBoard", "Model")
158             + identifier("Win32_BaseBoard", "Manufacturer")
159             + identifier("Win32_BaseBoard", "Name")
160             + identifier("Win32_BaseBoard", "SerialNumber");
161         }
162         /// <summary>
163         /// 获取主视频控制器ID
164         /// </summary>
165         /// <returns></returns>
166         public static string VideoId()
167         {
168             return identifier("Win32_VideoController", "DriverVersion")
169             + identifier("Win32_VideoController", "Name");
170         }
171         /// <summary>
172         /// 获取网卡ID
173         /// </summary>
174         /// <returns></returns>
175         public static string MacId()
176         {
177             return identifier("Win32_NetworkAdapterConfiguration",
178                 "MACAddress", "IPEnabled");
179         }

 

今天关于C# 获取计算机相关信息c#获取电脑信息的讲解已经结束,谢谢您的阅读,如果想了解更多关于AD命令获取计算机、用户相关信息、android 获取手机相关信息、Android之获取手机相关信息、C# 获取计算机唯一标识的相关知识,请在本站搜索。

本文标签: