人是有惰性的

想到哪儿写到哪儿
C#获取本机电脑相关信息,已验证

using System;
using System.Runtime.InteropServices;
using System.Management; //需要在解决方案中引用System.Management.DLL文件

namespace WebApplication1
{
    
/// <summary>
    
/// HardInfoClass 的摘要说明。
    
/// </summary>

    public class HardInfoClass
    
{


        [DllImport(
"kernel32.dll")]
        
private static extern int GetVolumeInformation(
            
string lpRootPathName,
            
string lpVolumeNameBuffer,
            
int nVolumeNameSize,
            
ref int lpVolumeSerialNumber,
            
int lpMaximumComponentLength,
            
int lpFileSystemFlags,
            
string lpFileSystemNameBuffer,
            
int nFileSystemNameSize
            );

        
public HardInfoClass()
        
{
            
//
            
// TODO: 在此处添加构造函数逻辑
            
//
        }


        
//取机器名 
        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 

        
//获取网卡MAC地址

        
public 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(Exception exp)
            
{

                
return "";
            }

        }


        
//获取硬盘信息的代码
        public 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 "";
            }

        }



        
//获取当前网卡IP地址
        public 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 "";
            }

        }


    }

}

页面调用

 HardInfoClass myclass = new HardInfoClass();
            
            TextBox2.Text 
= myclass.GetCpuID();
            TextBox3.Text 
= myclass.GetNetCardMAC();
            TextBox4.Text 
= myclass.GetNetCardIP();
            TextBox5.Text 
= myclass.GetHostName();
            TextBox6.Text 
= myclass.GetVolOf("D");

posted on 2007-07-24 16:02  guanfei  阅读(317)  评论(0)    收藏  举报