我用wmi获取pnpdevieID是IDE\DISKST3160215AS_____________________________4.AAB___\5&B140DE0&0&0.0.0
而我用Dos获得的硬盘序列号是46EB-C82F
请问这是为什么呀,哪个是正确的,哪个是唯一的;若不正确,怎样获得正确的序列号?
请各位大侠出手相助啊!!!
而我用Dos获得的硬盘序列号是46EB-C82F
请问这是为什么呀,哪个是正确的,哪个是唯一的;若不正确,怎样获得正确的序列号?
请各位大侠出手相助啊!!!
解决方案 »
- 哪位用过azman管理用户
- C#记事本 ,保存。
- 怎样通过反射来获取一个STRUCT中的所有PUBLIC对象呢?急用.....
- 数据库自动编号修改问题
- 怎么判断txt文件中有多少行,并分别把每行的数据读出来?
- 关于在RichTextBox中运用RTF文档规范的问题!
- c#对mapx二次开发,出现的问题,寻求帮助
- 【求助】如何根据条件控制文件夹选择窗口的确定按钮是否可用???
- 问一下大家,知道MSN那样的好友列表和分组是用什么控件做的吗?只用TREEVIEW了吗?谢谢
- 最新内幕消息!!! MS将会在2002年推出C$ !!! 聪明的程序员现在就开始学C$吧, 已免到时又落后啦!
- datatable.select的问题
- 父窗体添加Splitcontainer后子窗体无法显示!
try
{
ManagementClass mc = new ManagementClass("Win32_DiskDrive");
ManagementObjectCollection moc = mc.GetInstances(); foreach (ManagementObject mo in moc)
foreach (PropertyData property in mo.Properties)
{
Console.Write(property.Name + " --- ");
try
{
Console.WriteLine(mo.Properties[property.Name].Value.ToString());
}
catch
{
Console.WriteLine();
}
}
}执行上面这段代码,系统中所有硬盘中所有的东西都读出来了.要哪个取哪个.
好恐怖的一个序列号呀
/// 硬盘序列号。
/// </summary>
public static string HardDiskID
{
get
{
if(String.IsNullOrEmpty(_hardDiskID))
{
try
{
string filename = System.IO.Path.Combine(FileUtil.AppDir, "harddisk.txt");
System.IO.StreamWriter writer = new System.IO.StreamWriter(filename, false);
ManagementClass cimobject = new ManagementClass("Win32_DiskDrive");
ManagementObjectCollection moc = cimobject.GetInstances();
foreach (ManagementObject mo in moc)
{
foreach (PropertyData property in mo.Properties)
{
writer.WriteLine("{0} = {1};", property.Name, property.Value);
#if DEBUG
Console.WriteLine("{0} = {1};", property.Name, property.Value);
#endif
}
_hardDiskID = (string)mo.Properties["SerialNumber"].Value;
if (!string.IsNullOrEmpty(_hardDiskID) && !IsException)
{
writer.Close();
System.IO.File.Delete(filename);
break;
}
mo.Dispose();
}
writer.Close();
moc.Dispose();
}
catch //(Exception ex)
{
}
}
return _hardDiskID;
}
}我用这个代码是好的呀,你是不是参数写错了?你用的是哪个参数读到的?