当前位置:编程学习 > C#/ASP.NET >>

如何获取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> 
        /// 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();
            }
        }
--------------------编程问答-------------------- 老兄  你这个好像只能 获取 服务器的吧 --------------------编程问答-------------------- 真是囸鬼了,都已经说了,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> 
--------------------编程问答-------------------- 接10楼:
获取软驱:Win32_FloppyDrive
获取CD:Win32_CDROMDrive
获取主板:Win32_BaseBoard
获取键盘:Win32_Keyboard
还有很多
具体参见:
http://msdn.microsoft.com/zh-cn/library/aa389273.aspx --------------------编程问答--------------------
引用 13 楼 microtry 的回复:
真是囸鬼了,都已经说了,11楼还贴没用的代码,
干脆我给一段现成的吧:
大家可以结合我10楼提供的资料自由发挥封装一下

HTML code
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<html> 
   <head> 
      <title>javascript获得客户端硬件信息</titl……
试试看 --------------------编程问答-------------------- 大哥 你这段代码好像 也有点问题。。。。。。 --------------------编程问答--------------------
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; 
}
--------------------编程问答-------------------- 又一个学习的教程 --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 正解期待中! --------------------编程问答-------------------- 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; 
    } 
--------------------编程问答--------------------
引用 17 楼 xx_mm 的回复:
C# code
public static void GetCpuInfo(out string cpuInfo) 

//得到cpu信息 
string _cpuInfo="";//cpu信息 
ManagementClass cimobject = new ManagementClass("Win32_Processor"); 
ManagementObjectCollection m……
这个我测试了 没问题  --------------------编程问答-------------------- --------------------编程问答-------------------- 貌似很强悍     
引用 13 楼 microtry 的回复:
真是囸鬼了,都已经说了,11楼还贴没用的代码,
干脆我给一段现成的吧:
大家可以结合我10楼提供的资料自由发挥封装一下

HTML code
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<html> 
   <head> 
      <title>javascript获得客户端硬件信息</titl……
--------------------编程问答-------------------- 期待中 --------------------编程问答--------------------
引用 14 楼 microtry 的回复:
接10楼:
获取软驱:Win32_FloppyDrive
获取CD:Win32_CDROMDrive
获取主板:Win32_BaseBoard
获取键盘:Win32_Keyboard
还有很多
具体参见:
http://msdn.microsoft.com/zh-cn/library/aa389273.aspx


试试 --------------------编程问答-------------------- 试了,很强悍... --------------------编程问答-------------------- 很给力,13楼V5
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,