日期:2014-05-18  浏览次数:20908 次

新手求助C#
刚学习C#,如下面的代码,我要获取硬盘序列号,我怎么才知道要用wmi管理类中的ManagementObjectSearcher类生成一个设备对象,然后ManagementObject 类遍历设备对象信息,以前学php时 都没这么多类啊 ,都记不住,所以求如何学好C#,如何知道用哪个类的哪个方法

C# code

ManagementObjectSearcher searcher = new ManagementObjectSearcher("select * from Win32_PhysicalMedia");
            String strHardDiskID =null;
            foreach (ManagementObject mo in searcher.Get())
            {
                if (mo["SerialNumber"] == null) strHardDiskID = "没有找到序列号";
                else
                {
                    strHardDiskID = mo["SerialNumber"].ToString().Trim();
                    break; //BREAK放在 else语句里面
                }
            }
            textBox8.Text = strHardDiskID;



------解决方案--------------------
public string GetDiskVolumeSerialNumber()
{
ManagementClass mc = new ManagementClass("win32_NetworkAdapterConfiguration");
ManagementObject disk = new ManagementObject("win32_logicaldisk.deviceid=\"c:\"");
disk.Get();
return disk.GetPropertyValue("VolumeSerialNumber").ToString();
}

这样就可以,这个方法的返回值就是硬盘卷标号