如何获取硬盘的序列号,C#中是否有好的方法

我希望得到物理磁盘的序列号,可是有的机器能得到这个序列号,有的机器却不能还有就是不知道移动硬盘的序列号不知道是否可以通过C#得到... 我希望得到物理磁盘的序列号,可是有的机器能得到这个序列号,有的机器却不能
还有就是不知道移动硬盘的序列号不知道是否可以通过C#得到
展开
 我来答
AmiyaVenus
2008-09-03 · TA获得超过4296个赞
知道大有可为答主
回答量:2845
采纳率:100%
帮助的人:2476万
展开全部
得用WMI吧

using System;
using System.Management;

namespace ProcessorId
{
public class Test
{
static void Main()
{
Console.WriteLine("My harddisk is : " + GetHd());
Console.Read();
}

public static string GetHd()
{
ManagementObjectSearcher wmiSearcher = new ManagementObjectSearcher();

wmiSearcher.Query = new SelectQuery(
"Win32_DiskDrive",
"",
new string[]{"PNPDeviceID"}
);
ManagementObjectCollection myCollection = wmiSearcher.Get();
ManagementObjectCollection.ManagementObjectEnumerator em =
myCollection.GetEnumerator();
em.MoveNext();
ManagementBaseObject mo = em.Current;
string id = mo.Properties["PNPDeviceID"].Value.ToString().Trim();
return id;
}
}
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
旋天渣观9129
2008-09-04 · TA获得超过1487个赞
知道大有可为答主
回答量:1443
采纳率:0%
帮助的人:1621万
展开全部
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia");
String strHardDiskID = null ;
foreach(ManagementObject mo in searcher.Get())
{
strHardDiskID = mo["SerialNumber"].ToString().Trim();
MessageBox.Show(strHardDiskID);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wolforce
2008-09-03 · TA获得超过150个赞
知道小有建树答主
回答量:437
采纳率:0%
帮助的人:208万
展开全部
仔细看类库,有分出个对系统设备操作的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhuziqing168
2008-09-03
知道答主
回答量:10
采纳率:0%
帮助的人:0
展开全部
只可意会不可言传
。。。。。。。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式