如何获取CPU序列号,硬盘序列号。
如何获取CPU序列号、硬盘序列号, BS模式的!!要那种网站在服务器上发布以后 ,客服端运行时获取的是客服端的序列号 而不是服务器端的序列号。 --------------------编程问答-------------------- --------------------编程问答-------------------- 如何获取CPU序列号、硬盘序列号, BS模式的!!
要那种网站在服务器上发布以后 ,客服端运行时获取的是客服端的序列号 而不是服务器端的序列号。兄弟也在找啊 --------------------编程问答-------------------- --------------------编程问答-------------------- 各位大哥 急求啊 --------------------编程问答-------------------- 用silverlight或ActiveX --------------------编程问答-------------------- 可以考虑那个activeX来获取 --------------------编程问答-------------------- 麻烦了 能详说一下吗,网上那些都是获取 服务器端的,我要想得到客服端的,谢谢了 --------------------编程问答-------------------- 這不是很好的想法
要获取几乎不可能 除非你能忽悠客户装你的插件 --------------------编程问答-------------------- LS正解 --------------------编程问答-------------------- 利用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 --------------------编程问答--------------------
/// <summary>--------------------编程问答-------------------- 老兄 你这个好像只能 获取 服务器的吧 --------------------编程问答-------------------- 真是囸鬼了,都已经说了,11楼还贴没用的代码,
/// 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();
}
}
干脆我给一段现成的吧:
大家可以结合我10楼提供的资料自由发挥封装一下
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">--------------------编程问答-------------------- 接10楼:
<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>
获取软驱:Win32_FloppyDrive
获取CD:Win32_CDROMDrive
获取主板:Win32_BaseBoard
获取键盘:Win32_Keyboard
还有很多
具体参见:
http://msdn.microsoft.com/zh-cn/library/aa389273.aspx --------------------编程问答-------------------- 试试看 --------------------编程问答-------------------- 大哥 你这段代码好像 也有点问题。。。。。。 --------------------编程问答--------------------
public static void GetCpuInfo(out string cpuInfo)--------------------编程问答-------------------- 又一个学习的教程 --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 正解期待中! --------------------编程问答-------------------- javascript + FileSystemObject
{
//得到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;
}
var fso = CreateObject( "Scripting.FileSystemObject ")
var drs = fso.Drives;
for(var i=0;i <drs.length;i++)
{
d.DriveLetter ;
d.DriveType ;
d.VolumeName;
}
--------------------编程问答-------------------- 这个我测试了 没问题 --------------------编程问答-------------------- --------------------编程问答-------------------- 貌似很强悍 --------------------编程问答-------------------- 期待中 --------------------编程问答--------------------
试试 --------------------编程问答-------------------- 试了,很强悍... --------------------编程问答-------------------- 很给力,13楼V5
补充:.NET技术 , ASP.NET