using system;
using system.runtime.interopservices;
using system.management;
namespace hardware
{
/// <summary>
/// hardware_mac 的摘要說明。
/// </summary>
public class hardwareinfo
{
//取機器名
public string gethostname()
{
return system.net.dns.gethostname();
}
//取cpu編號
public 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 "";
}
}//end method
//獲取cpu序列號www.qichepeijian.com
public string getcpuid2()
{
try
{
System.Management.ManagementObjectSearcher Wmi = new ManagementObjectSearcher ( "SELECT * FROM Win32_Processor ");
string tmpUint32_1 = string.Empty;
foreach(ManagementObject WmiObj in Wmi.Get())
{
tmpUint32_1 =WmiObj[ "ProcessorId "].ToString();
}
this.textBox2.Text = tmpUint32_1;
this.gProgressBar1.Value ++;
}
catch(Exception ex2)
{
throw new Exception(ex2.ToString());
}
}
//取第一塊硬盤編號
public 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 "";
}
}//end
//獲取磁盤序列號
public string getharddiskid2()
{
try
{
System.Management.ManagementObjectSearcher cmicWmi = new ManagementObjectSearcher( "SELECT * FROM Win32_DiskDrive ");
System.UInt32 tmpUint32 = 0;
foreach(ManagementObject cmicWmiObj in cmicWmi.Get())
{
tmpUint32 = Convert.ToUInt32(cmicWmiObj[ "signature "].ToString());
}
this.textBox1.Text = tmpUint32.ToString();
this.gProgressBar1.Value ++;
}
catch(Exception ex1)
{
throw new Exception(ex1.ToString());
}
}
/// <summary>
/// 獲取硬盤ID
/// </summary>
/// <returns> string </returns>
public string GetHDid()
{
string HDid = " ";
using (ManagementClass cimobject1 = new ManagementClass("Win32_DiskDrive"))
{
ManagementObjectCollection moc1 = cimobject1.GetInstances();
foreach (ManagementObject mo in moc1)
{
HDid = (string)mo.Properties["Model"].Value;
mo.Dispose();
}
}
return HDid.ToString();
}
/// <summary>
/// 獲取網卡硬件地址
/// </summary>
/// <returns> string </returns>
public string GetMoAddress()
{
string MoAddress = " ";
using (ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration"))
{
ManagementObjectCollection moc2 = mc.GetInstances();
foreach (ManagementObject mo in moc2)
{
if ((bool)mo["IPEnabled"] == true)
MoAddress = mo["MacAddress"].ToString();
mo.Dispose();
}
}
return MoAddress.ToString();
}
}
}