.NET获取机器信息
生活随笔
收集整理的這篇文章主要介紹了
.NET获取机器信息
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
/// <summary>/// using System.Web;/// using System.Management;/// </summary>public static void main(){//客戶端ip:HttpContext.Current.Request.ServerVariables.Get("Remote_Addr").ToString();//客戶端主機(jī)名:HttpContext.Current.Request.ServerVariables.Get("Remote_Host").ToString();//客戶端瀏覽器IE:string Browser = HttpContext.Current.Request.Browser.Browser;//客戶端瀏覽器 版本號:int MajorVersion = System.Web.HttpContext.Current.Request.Browser.MajorVersion;//客戶端操作系統(tǒng):string Platform = System.Web.HttpContext.Current.Request.Browser.Platform;//服務(wù)器ip:HttpContext.Current.Request.ServerVariables.Get("Local_Addr").ToString();//端口:
HttpContext.Current.Request.Url.Port.ToString();//服務(wù)器名:System.Web.HttpContext.Current.Request.ServerVariables.Get("Server_Name").ToString();//獲取網(wǎng)卡的地址、本地的IP地址string stringMAC = "";string stringIP = "";ManagementClass MC = new ManagementClass("Win32_NetworkAdapterConfiguration");ManagementObjectCollection MOC = MC.GetInstances();foreach (ManagementObject MO in MOC){if ((bool)MO["IPEnabled"] == true){stringMAC += MO["MACAddress"].ToString(); //獲取網(wǎng)卡的地址string[] IPAddresses = (string[])MO["IPAddress"]; //獲取本地的IP地址if (IPAddresses.Length > 0){stringIP = IPAddresses[0];}}}//獲取遠(yuǎn)程客戶端的網(wǎng)卡物理地址(MAC)(本機(jī)測試不了)string MAC = GetMac(HttpContext.Current.Request.UserHostAddress.ToString());//cpu序列號string cpuInfo = "";ManagementClass cimobject = new ManagementClass("Win32_Processor");ManagementObjectCollection moc = cimobject.GetInstances();foreach (ManagementObject mo in moc){cpuInfo = mo.Properties["ProcessorId"].Value.ToString();string cpu = "cpu序列號:" + cpuInfo.ToString();}//獲取硬盤ID
String HDid;ManagementClass cimobject1 = new ManagementClass("Win32_DiskDrive");ManagementObjectCollection moc1 = cimobject1.GetInstances();foreach (ManagementObject mo in moc1){HDid = (string)mo.Properties["Model"].Value;string yinpan = "硬盤序列號:" + HDid.ToString();}//獲取網(wǎng)卡硬件地址ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");ManagementObjectCollection moc2 = mc.GetInstances();foreach (ManagementObject mo in moc2){if ((bool)mo["IPEnabled"] == true){string yinpan = "MAC address/t{0}" + mo["MacAddress"].ToString();}mo.Dispose();}}/// <summary>/// 獲取遠(yuǎn)程客戶端的網(wǎng)卡物理地址(MAC)/// using System.Diagnostics;/// using System.Text.RegularExpressions;/// </summary>/// <param name="IP"></param>/// <returns></returns>private static string GetMac(string IP) //para IP is the client's IP
{string dirResults = "";ProcessStartInfo psi = new ProcessStartInfo();Process proc = new Process();psi.FileName = "nbtstat";psi.RedirectStandardInput = false;psi.RedirectStandardOutput = true;psi.Arguments = "-A " + IP;psi.UseShellExecute = false;proc = Process.Start(psi);dirResults = proc.StandardOutput.ReadToEnd();proc.WaitForExit();dirResults = dirResults.Replace("/r", "").Replace("/n", "").Replace("/t", "");Regex reg = new Regex("Mac[ ]{0,}Address[ ]{0,}=[ ]{0,}(?<key>((.)*?))__MAC", RegexOptions.IgnoreCase | RegexOptions.Compiled);Match mc = reg.Match(dirResults + "__MAC");if (mc.Success){return mc.Groups["key"].Value;}else{reg = new Regex("Host not found", RegexOptions.IgnoreCase | RegexOptions.Compiled);mc = reg.Match(dirResults);if (mc.Success){return "Host not found!";}else{return "";}}}
?
轉(zhuǎn)載于:https://www.cnblogs.com/cang12138/p/5850051.html
總結(jié)
以上是生活随笔為你收集整理的.NET获取机器信息的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android Studio开发Recy
- 下一篇: javascript转换金额格式