如何获取CPU序列号,硬盘序列号。

panerli 2009-06-05 10:56:12
如何获取CPU序列号、硬盘序列号, BS模式的!!

要那种网站在服务器上发布以后 ,客服端运行时获取的是客服端的序列号 而不是服务器端的序列号。
...全文
526 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
jhrxx 2011-02-14
  • 打赏
  • 举报
回复
很给力,13楼V5
chekey 2011-02-14
  • 打赏
  • 举报
回复
试了,很强悍...
  • 打赏
  • 举报
回复
baiduu 2011-02-13
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 microtry 的回复:]

接10楼:
获取软驱:Win32_FloppyDrive
获取CD:Win32_CDROMDrive
获取主板:Win32_BaseBoard
获取键盘:Win32_Keyboard
还有很多
具体参见:
http://msdn.microsoft.com/zh-cn/library/aa389273.aspx
[/Quote]

试试
蔡袅 2011-02-13
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 xx_mm 的回复:]

C# code
public static void GetCpuInfo(out string cpuInfo)
{
//得到cpu信息
string _cpuInfo="";//cpu信息
ManagementClass cimobject = new ManagementClass("Win32_Processor");
ManagementObjectCollection m……
[/Quote]这个我测试了 没问题
GooKit 2011-02-13
  • 打赏
  • 举报
回复
期待中
纯唇Yu弄 2011-02-13
  • 打赏
  • 举报
回复
貌似很强悍 [Quote=引用 13 楼 microtry 的回复:]
真是囸鬼了,都已经说了,11楼还贴没用的代码,
干脆我给一段现成的吧:
大家可以结合我10楼提供的资料自由发挥封装一下

HTML code
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
   <head>
      <title>javascript获得客户端硬件信息</titl……
[/Quote]
Cool_xiaocao 2011-02-12
  • 打赏
  • 举报
回复
又一个学习的教程
蔡袅 2011-02-12
  • 打赏
  • 举报
回复
public static void GetCpuInfo(out string cpuInfo) 
{
//得到cpu信息
string _cpuInfo="";//cpu信息
ManagementClass cimobject = new ManagementClass("Win32_Processor");
ManagementObjectCollection moc = cimobject.GetInstances();
foreach(ManagementObject mo in moc)
{
_cpuInfo = mo.Properties["ProcessorId"].Value.ToString();
}
cpuInfo=_cpuInfo;
}


//获取硬盘ID
string _HDInfo="";
ManagementClass cimobject1 = new ManagementClass("Win32_DiskDrive");
ManagementObjectCollection moc1 = cimobject1.GetInstances();
foreach(ManagementObject mo in moc1)
{
_HDInfo = (string)mo.Properties["Model"].Value;

}
HDInfo=_HDInfo;
}

public static void GetMacAddress(out string MacAddress)
{
//获取网卡硬件地址
string _MacAddress="";
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc2 = mc.GetInstances();
foreach(ManagementObject mo in moc2)
{
if((bool)mo["IPEnabled"] == true)
MacAddress=mo["MacAddress"].ToString();
mo.Dispose();
}
MacAddress=_MacAddress;
}
哥子谭 2011-02-12
  • 打赏
  • 举报
回复
大哥 你这段代码好像 也有点问题。。。。。。
net5354 2011-02-12
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 microtry 的回复:]
真是囸鬼了,都已经说了,11楼还贴没用的代码,
干脆我给一段现成的吧:
大家可以结合我10楼提供的资料自由发挥封装一下

HTML code
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
   <head>
      <title>javascript获得客户端硬件信息</titl……
[/Quote]试试看
zengxianbing 2011-02-12
  • 打赏
  • 举报
回复
javascript + FileSystemObject
var fso = CreateObject( "Scripting.FileSystemObject ")
var drs = fso.Drives;
for(var i=0;i <drs.length;i++)
{
d.DriveLetter ;
d.DriveType ;
d.VolumeName;
}
gotodiy01 2011-02-12
  • 打赏
  • 举报
回复
正解期待中!
缪军 2011-02-12
  • 打赏
  • 举报
回复
接10楼:
获取软驱:Win32_FloppyDrive
获取CD:Win32_CDROMDrive
获取主板:Win32_BaseBoard
获取键盘:Win32_Keyboard
还有很多
具体参见:
http://msdn.microsoft.com/zh-cn/library/aa389273.aspx
缪军 2011-02-12
  • 打赏
  • 举报
回复
真是囸鬼了,都已经说了,11楼还贴没用的代码,
干脆我给一段现成的吧:
大家可以结合我10楼提供的资料自由发挥封装一下
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<html>
   <head>
      <title>javascript获得客户端硬件信息</title>
   <script id="getHwInfos" type="text/JavaScript">
function getCpuInfor() {//CPU 信息
   var locator = new ActiveXObject("WbemScripting.SWbemLocator");
   var service = locator.ConnectServer(".");
   var properties = service.ExecQuery("SELECT * FROM Win32_Processor");
   var e = new Enumerator(properties);
   document.write("<table border=1>");
   for (;!e.atEnd();e.moveNext ())
   {
      var p = e.item ();
      document.write("<tr>");
      document.write("<td>Caption:" + p.Caption + "</td>");
      document.write("<td>DeviceID:" + p.DeviceID + "</td>");
      document.write("<td>Name:" + p.Name + "</td>");
      document.write("<td>ProcessorID:" + p.ProcessorID + "</td>");
      document.write("</tr>");
   }
   document.write("</table>");
}
  
   function getHddInfo() {//硬盘序列号 信息
   var locator = new ActiveXObject ("WbemScripting.SWbemLocator");
   var service = locator.ConnectServer(".");
   var properties = service.ExecQuery("SELECT * FROM Win32_DiskDrive");
   var e = new Enumerator (properties);
   document.write("<table border=1>");
   for (;!e.atEnd();e.moveNext ())
   {
      var p = e.item ();
var _sn = p.SerialNumber;
if(!_sn)_sn = "无法获取SerialNumber";
      document.write("<tr>");
      document.write("<td>SerialNumber:" + _sn + ",Signature:" + p.Signature + "</td>");
      document.write("</tr>");
   }
   document.write("</table>");
}

</script>
</head>
   <body>
      <input id="Button1" type="button" value="Button"
name="GetCpuInfo" onclick="return getCpuInfor()">
<input id="btnGetHddInfo" type="button" value="GetHddInfo" onclick="return getHddInfo()" />
   </body>
</html>
哥子谭 2011-02-12
  • 打赏
  • 举报
回复
老兄 你这个好像只能 获取 服务器的吧
  • 打赏
  • 举报
回复
/// <summary> 
/// HardDiskVal 的摘要说明。
/// 读取指定盘符的硬盘序列号
/// 功能:读取指定盘符的硬盘序列号
/// </summary>
public class HardDiskVal
{
[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

);

/// <summary>

/// 获得盘符为drvID的硬盘序列号,缺省为C

/// </summary>

/// <param name="drvID"></param>

/// <returns></returns>

public string HDVal(string drvID)
{

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();

}

public string HDVal()
{

const int MAX_FILENAME_LEN = 256;

int retVal = 0;

int a = 0;

int b = 0;

string str1 = null;

string str2 = null;

int i = GetVolumeInformation(

"c:\\",

str1,

MAX_FILENAME_LEN,

ref retVal,

a,

b,

str2,

MAX_FILENAME_LEN

);

return retVal.ToString();

}

}
/// <summary>
/// 读取设备
/// </summary>
public class run
{
private ManagementClass mc;
private ManagementObjectCollection moc;
private ManagementObject disk;
public run()
{ }
/// <summary>
/// 取得设备网卡的MAC地址
/// </summary>
public string GetNetCardMacAddress()
{
mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
moc = mc.GetInstances();
string str = "";
foreach (ManagementObject mo in moc)
{
if ((bool)mo["IPEnabled"] == true)
str = mo["MacAddress"].ToString();

}
return str;
}
/// <summary>
/// 取得设备硬盘的卷标号
/// </summary>
/// <returns></returns>
public string GetDiskVolumeSerialNumber()
{
mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
disk = new ManagementObject("win32_logicaldisk.deviceid=\"c:\"");
disk.Get();
return disk.GetPropertyValue("VolumeSerialNumber").ToString();
}
}
缪军 2011-02-12
  • 打赏
  • 举报
回复
利用WbemScripting.SWbemLocator
具体:
获取硬盘信息:Win32_DiskDrive,参见
http://msdn.microsoft.com/zh-cn/library/aa394132.aspx;
获取CPU信息:Win32_Processor,参见
http://msdn.microsoft.com/zh-cn/library/aa394373.aspx
zixuanzhilei2011 2011-02-12
  • 打赏
  • 举报
回复
LS正解
telankes2000 2011-02-12
  • 打赏
  • 举报
回复
這不是很好的想法
要获取几乎不可能 除非你能忽悠客户装你的插件
加载更多回复(5)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧