winform取CPU编号、MAC地址、硬盘信息、IP地址、串口信息
2013-01-14 14:18
405 查看
using System.Management; //需要在解决方案中引用System.Management.DLL文件
/// <summary>
/// 取CPU编号
/// </summary>
/// <returns></returns>
public static string GetCpuID()
{
try
{
ManagementClass mc = new ManagementClass("Win32_Processor");
ManagementObjectCollection moc = mc.GetInstances();
string strCpuID = null;
foreach (ManagementObject mo in moc)
{
strCpuID = mo.Properties["ProcessorId"].Value.ToString();
break;
}
return strCpuID;
}
catch
{
return "";
}
}
/// <summary>
/// 取第一块硬盘编号
/// </summary>
/// <returns></returns>
public static string GetHardDiskID()
{
try
{
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia");
string strHardDiskID = null;
foreach (ManagementObject mo in searcher.Get())
{
strHardDiskID = mo["SerialNumber"].ToString().Trim();
break;
}
return strHardDiskID;
}
catch
{
return "";
}
}
/// <summary>
/// 获取网卡MAC地址
/// </summary>
/// <returns></returns>
public static string GetNetCardMAC()
{
try
{
string stringMAC = "";
ManagementClass MC = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection MOC = MC.GetInstances();
foreach (ManagementObject MO in MOC)
{
if ((bool)MO["IPEnabled"] == true)
{
stringMAC += MO["MACAddress"].ToString();
}
}
return stringMAC;
}
catch
{
return "";
}
}
/// <summary>
/// 获取硬盘信息的代码
/// </summary>
/// <param name="drvID"></param>
/// <returns></returns>
public static string GetVolOf(string drvID)
{
try
{
const int MAX_FILENAME_LEN = 256;
int retVal = 0;
int a = 0;
int b = 0;
string str1 = null;
string str2 = null;
int i = GetVolumeInformation(drvID + @":/", str1, MAX_FILENAME_LEN, ref retVal, a, b, str2, MAX_FILENAME_LEN);
return retVal.ToString("x");
}
catch
{
return "";
}
}
/// <summary>
/// 获取当前网卡IP地址
/// </summary>
/// <returns></returns>
public static string GetNetCardIP()
{
try
{
string stringIP = "";
ManagementClass MC = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection MOC = MC.GetInstances();
foreach (ManagementObject MO in MOC)
{
if ((bool)MO["IPEnabled"] == true)
{
string[] IPAddresses = (string[])MO["IPAddress"];
if (IPAddresses.Length > 0)
{
stringIP = IPAddresses[0].ToString();
}
}
}
return stringIP;
}
catch
{
return "";
}
}
#region 调用注册表返回本地串口
/// <summary>
/// 串口函数(方法需调用注册表,串口编程所用类)
/// </summary>
/// 使用命名空间:
/// using System.Security;
/// using System.Security.Permissions;
/// <returns>返回此计算机串口数组</returns>
public static string[] GetPortNames()//
{
RegistryKey localMachine = null;
RegistryKey key2 = null;
string[] textArray = null;//这里有个判断,判断该注册表项是否存在
new RegistryPermission(RegistryPermissionAccess.Read, @"HKEY_LOCAL_MACHINE/HARDWARE/DEVICEMAP/SERIALCOMM").Assert();
try
{
localMachine = Registry.LocalMachine;
key2 = localMachine.OpenSubKey(@"HARDWARE/DEVICEMAP/SERIALCOMM", false);
if (key2 != null)
{
string[] valueNames = key2.GetValueNames();
textArray = new string[valueNames.Length];
for (int i = 0; i < valueNames.Length; i++)
{
textArray[i] = (string)key2.GetValue(valueNames[i]);
}
}
}
finally
{
if (localMachine != null)
{
localMachine.Close();
} if (key2 != null)
{
key2.Close();
}
CodeAccessPermission.RevertAssert();
} if (textArray == null)
{
textArray = new string[0];
}
return textArray;
}
#endregion
/// <summary>
/// 取CPU编号
/// </summary>
/// <returns></returns>
public static string GetCpuID()
{
try
{
ManagementClass mc = new ManagementClass("Win32_Processor");
ManagementObjectCollection moc = mc.GetInstances();
string strCpuID = null;
foreach (ManagementObject mo in moc)
{
strCpuID = mo.Properties["ProcessorId"].Value.ToString();
break;
}
return strCpuID;
}
catch
{
return "";
}
}
/// <summary>
/// 取第一块硬盘编号
/// </summary>
/// <returns></returns>
public static string GetHardDiskID()
{
try
{
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia");
string strHardDiskID = null;
foreach (ManagementObject mo in searcher.Get())
{
strHardDiskID = mo["SerialNumber"].ToString().Trim();
break;
}
return strHardDiskID;
}
catch
{
return "";
}
}
/// <summary>
/// 获取网卡MAC地址
/// </summary>
/// <returns></returns>
public static string GetNetCardMAC()
{
try
{
string stringMAC = "";
ManagementClass MC = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection MOC = MC.GetInstances();
foreach (ManagementObject MO in MOC)
{
if ((bool)MO["IPEnabled"] == true)
{
stringMAC += MO["MACAddress"].ToString();
}
}
return stringMAC;
}
catch
{
return "";
}
}
/// <summary>
/// 获取硬盘信息的代码
/// </summary>
/// <param name="drvID"></param>
/// <returns></returns>
public static string GetVolOf(string drvID)
{
try
{
const int MAX_FILENAME_LEN = 256;
int retVal = 0;
int a = 0;
int b = 0;
string str1 = null;
string str2 = null;
int i = GetVolumeInformation(drvID + @":/", str1, MAX_FILENAME_LEN, ref retVal, a, b, str2, MAX_FILENAME_LEN);
return retVal.ToString("x");
}
catch
{
return "";
}
}
/// <summary>
/// 获取当前网卡IP地址
/// </summary>
/// <returns></returns>
public static string GetNetCardIP()
{
try
{
string stringIP = "";
ManagementClass MC = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection MOC = MC.GetInstances();
foreach (ManagementObject MO in MOC)
{
if ((bool)MO["IPEnabled"] == true)
{
string[] IPAddresses = (string[])MO["IPAddress"];
if (IPAddresses.Length > 0)
{
stringIP = IPAddresses[0].ToString();
}
}
}
return stringIP;
}
catch
{
return "";
}
}
#region 调用注册表返回本地串口
/// <summary>
/// 串口函数(方法需调用注册表,串口编程所用类)
/// </summary>
/// 使用命名空间:
/// using System.Security;
/// using System.Security.Permissions;
/// <returns>返回此计算机串口数组</returns>
public static string[] GetPortNames()//
{
RegistryKey localMachine = null;
RegistryKey key2 = null;
string[] textArray = null;//这里有个判断,判断该注册表项是否存在
new RegistryPermission(RegistryPermissionAccess.Read, @"HKEY_LOCAL_MACHINE/HARDWARE/DEVICEMAP/SERIALCOMM").Assert();
try
{
localMachine = Registry.LocalMachine;
key2 = localMachine.OpenSubKey(@"HARDWARE/DEVICEMAP/SERIALCOMM", false);
if (key2 != null)
{
string[] valueNames = key2.GetValueNames();
textArray = new string[valueNames.Length];
for (int i = 0; i < valueNames.Length; i++)
{
textArray[i] = (string)key2.GetValue(valueNames[i]);
}
}
}
finally
{
if (localMachine != null)
{
localMachine.Close();
} if (key2 != null)
{
key2.Close();
}
CodeAccessPermission.RevertAssert();
} if (textArray == null)
{
textArray = new string[0];
}
return textArray;
}
#endregion
相关文章推荐
- winform取CPU编号、MAC地址、硬盘信息、IP地址、串口信息
- winform取CPU编号、MAC地址、硬盘信息、IP地址、串口信息
- winform取CPU编号、MAC地址、硬盘信息、IP地址、串口信息
- winform取CPU编号、MAC地址、硬盘信息、IP地址、串口信息
- winform取CPU编号、MAC地址、硬盘信息、IP地址、串口信息
- 计算机硬件通用功能类:硬件信息控制器(主机名,cpu编号,网卡地址,MAC地址,主硬盘编号,ip地址,获取最大线程数,验证服务IP)
- Winform获取机器信息IP、MAC、机器名、CPU编号、主硬盘编号
- c#中如何获取本机MAC地址、IP地址、硬盘ID、CPU序列号等系统信息
- c#中如何获取本机MAC地址、IP地址、硬盘ID、CPU序列号等系统信息
- 在Winform获取机器信息IP、MAC、机器名、CPU编号、主硬盘编号
- Winform获取机器信息IP、MAC、机器名、CPU编号、主硬盘编号
- C#封装获得机器(CPU、硬盘、BIOS、MAC地址)信息
- .net C# 获取硬盘号 CPU序列号 IP地址 Mac地址
- C#中获取CPU序列号、网卡Mac地址、IP地址、硬盘序列号、登录用户名、PC类型、计算机名称、物理内存
- C#获取ip地址、dns、mac地址、cpu信息
- C# 获取电脑MAC地址,IP地址,物理内存,CPU序列号,硬盘ID..........................
- 获取计算机的信息(IP地址、MAC地址、CUP序列号、硬盘序列号、主板信息等等)
- c#(asp.net)获取机器信息(IP)(MAC)(机器名)(CPU编号)(主硬盘编号)
- C#获取电脑硬件信息(CPU ID、主板ID、硬盘ID、BIOS编号)说明
- ASP获取客户端硬件信息(CPU、硬盘、主板、mac地址等)