1、MAC地址
2、硬盘序列号(C盘)

解决方案 »

  1.   

    用smartclient可以实现,不过,不会。
    我们是通过提交的方法来实现
      

  2.   

    单纯的浏览器没这个功能
    可能你需要做ActiveX或smartclient,不过会有安全提示
      

  3.   

    请问如何用asp.net如何获取网卡硬件地址?
    http://community.csdn.net/Expert/topic/3245/3245524.xml?temp=.8336908
      

  4.   

    从服务端得到客户端MAC地址是可以实现的,但只能在相同网段之间,不同网段得不到.
    下面有一个运用脚本的方法你可参考一下.
    现在一时找不到,等会儿给.
      

  5.   

    就像楼上说的,我也是做一个ActiveX得到的
      

  6.   

    mac号,用console命令:nbtstate.exe
      

  7.   

    nbtstat.exe
    上面打错了~
      

  8.   

    来了来了,一直找不到这个贴,还好楼主顶一下.
    如下,可获取网卡MAC地址(在客户端脚本里面执行)<HTML>
    <HEAD>
    <TITLE>WMI Scripting HTML</TITLE>
    <META http-equiv=Content-Type content="text/html; charset=gb2312">
    <SCRIPT language=JScript event="OnCompleted(hResult,pErrorObject, pAsyncContext)" for=foo>
    document.forms[0].txtMACAddr.value=unescape(MACAddr);
    document.forms[0].txtIPAddr.value=unescape(IPAddr);
    document.forms[0].txtDNSName.value=unescape(sDNSName);
    </SCRIPT><SCRIPT language=JScript event=OnObjectReady(objObject,objAsyncContext) for=foo>
    if(objObject.IPEnabled != null && objObject.IPEnabled != "undefined" && objObject.IPEnabled == true)
    {
    if(objObject.MACAddress != null && objObject.MACAddress != "undefined")
    MACAddr = objObject.MACAddress;
    if(objObject.IPEnabled && objObject.IPAddress(0) != null && objObject.IPAddress(0) != "undefined")
    IPAddr = objObject.IPAddress(0);
    if(objObject.DNSHostName != null && objObject.DNSHostName != "undefined")
    sDNSName = objObject.DNSHostName;
    }
    </SCRIPT><META content="MSHTML 6.00.2800.1106" name=GENERATOR></HEAD>
    <BODY>
    <OBJECT id=locator classid=CLSID:76A64158-CB41-11D1-8B02-00600806D9B6 VIEWASTEXT></OBJECT>
    <OBJECT id=foo classid=CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223></OBJECT>
    <SCRIPT language=JScript>
    var service = locator.ConnectServer();
    var MACAddr ;
    var IPAddr ;
    var DomainAddr;
    var sDNSName;
    service.Security_.ImpersonationLevel=3;
    service.InstancesOfAsync(foo, ''Win32_NetworkAdapterConfiguration'');
    </SCRIPT><FORM id=formfoo name=formbar action=NICPost.asp method=post>
    <INPUT value=00:05:5D:0E:C7:FA name=txtMACAddr> 
    <INPUT value=192.168.0.2 name=txtIPAddr> 
    <INPUT value=typ name=txtDNSName> 
    </FORM>
    </BODY>
    </HTML>
     
      

  9.   

    下面的东西是收藏的,没有真正测试过,你试试(取硬盘序列号等)
    硬盘序列号的类using System;
    using System.IO;
    using System.Runtime.InteropServices;
    using System.Text;
    using Microsoft.Win32;namespace Wjb.ReadOrWriteIniAndReg
    {
    /// <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();
    }

    }''获得硬盘序列号Dim cmicWmi As New System.Management.ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive")Dim Uint32 As UInt32For Each cmicWmiObj As ManagementObject In cmicWmi.GetUint32 = cmicWmiObj("signature")NextTextBox1.Text = Uint32.ToString''获得CPU序列号Dim Wmi As New System.Management.ManagementObjectSearcher("SELECT * FROM Win32_Processor")Dim Uint32 As StringFor Each WmiObj As ManagementObject In Wmi.GetUint32 = WmiObj("ProcessorId")NextTextBox1.Text = Uint32''获得硬盘总容量Dim Wmi As New System.Management.ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive")Dim Uint64 As UInt64For Each WmiObj As ManagementObject In Wmi.GetUint64 = WmiObj("size")NextTextBox1.Text = Uint64.ToString首先,引用System.Management;然后在代码中Imports System.Management;