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

解决方案 »

  1.   

    public string GetDiskVolumeSerialNumber()
            {
                ManagementClass mc = new ManagementClass("win32_NetworkAdapterConfiguration");
                ManagementObject disk = new ManagementObject("win32_logicaldisk.deviceid=\"c:\"");
                disk.Get();
                return disk.GetPropertyValue("VolumeSerialNumber").ToString();
            }这样就可以,这个方法的返回值就是硬盘卷标号
      

  2.   

    说实话,我上次也写了这个,网上找到代码,但我就是没有仔细看完代码,我觉得也没必要,调试一下只要得到了硬盘的信息就可以了,至于如何学c#,这个要多动手,在实际项目中自然就会了,我刚开始做c#时,也从来没有学过c#,刚去公司抱了本c#书就公司看,然后经理就跟我说,书不是用来看的,用来查的,,后来2周时间就入门了
      

  3.   

    也不能这么说,只能说Windows的东西太多,修改的方法也就跟上来了