羽叶 发表于 2013-6-10 23:10:15

C#取得本地电脑硬件信息

using System.Management;

//取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 "";
}
}//取第一块硬盘号public string GetHardDiskID()
{
try
{
ManagementObjectSearcher searcher = new ManagementObjectSearcher("Select * FROM Win32_PhysicalMedia");
string strHardDiskID = null ;
foreach(ManagementObject mo in searcher.Get())
{   
   strHardDiskID = mo["ModuleNumber"].ToString().Trim();
   if(strHardDiskID != "")
   {
    break;
   }
}
return strHardDiskID ;
}
catch
{
return "";
}
}//取第一块网卡号public string GetNetworkID()
{
try
{
ManagementObjectSearcher searcher = new ManagementObjectSearcher("Select * FROM Win32_NetworkAdapterConfiguration");
string strNetworkID = null ;
foreach(ManagementObject mo in searcher.Get())
{   
   strNetworkID = mo["MACAddress"].ToString().Trim();
   if(strNetworkID != "")
   {
    break;         
   }
}
return strNetworkID ;
}
catch
{
return "";
}
}//取串口public int getport(int portnum)
{
//链接服务器
DirectoryEntry root = new DirectoryEntry("IIS://localhost/W3SVC");
//检测是否已存在相同串口的站点,并获取PORT值
foreach(DirectoryEntry e in root.Children)
{
if(e.SchemaClassName == "IIsWebServer")
{
   if(e.Properties["ServerBindings"].Value != null)
   {
    int strstart = e.Properties["ServerBindings"].Value.ToString().IndexOf(":",0);
    int strend = e.Properties["ServerBindings"].Value.ToString().IndexOf(":",strstart+1);
    string thisport = e.Properties["ServerBindings"].Value.ToString().Substring((strstart+1),(strend-strstart-1));
    if(thisport == portnum.ToString())
    {
   portnum++;
   portnum = getport(portnum);
   break;
    }
   }
}
}
return portnum;
}

t304pk 发表于 2013-6-12 06:16:13

This one is great!

t304pk 发表于 2013-6-12 06:18:03

How about Motherboard and BIOS ID? These will complete the library :)

zn98com 发表于 2013-7-3 08:36:40

谢谢,提供这样好的东西。

ssjun 发表于 2013-7-4 07:58:47

可以提取机器码

ibm2000 发表于 2013-7-5 14:21:58

感谢楼主共享代码。

rakehell 发表于 2013-10-15 13:42:09

好东西,收藏一个

pbuilder 发表于 2013-10-17 14:56:23

不错,收藏下

clarkkevin 发表于 2013-10-23 06:11:59

正好有用。资源很不错。

lcjscl 发表于 2013-10-23 17:05:28

C#取硬盘的可能会有重复,大家用的时候多测试下

zhangyi2013 发表于 2013-10-28 16:19:16

不错,收藏下

szy0syz 发表于 2013-11-4 22:25:33

不错,一直在用这个代码,顶起。

slim443 发表于 2014-7-8 08:42:07

很值得参考

slim443 发表于 2014-7-8 08:47:30

能获取ID,好牛

ptdelphi 发表于 2014-8-22 10:07:44

学习了,好代码

hicimoo 发表于 2014-9-25 11:11:09

感谢分享,好帖收藏

忧郁_小朱 发表于 2014-9-26 10:54:18

感谢分享

cllu 发表于 2014-12-20 11:16:54

感谢楼主分享,很實用。
页: [1]
查看完整版本: C#取得本地电脑硬件信息