Imports System.Mangement Dim mc As ManagementClass = New ManagementClass("Win32_NetworkAdapterConfiguration") Dim moc As ManagementObjectCollection = mc.GetInstances() Dim mo As ManagementObject For Each mo In moc If CBool(mo("IPEnabled")) = True Then Response.Write("MAC地址:" + mo("MacAddress").ToString()) Response.Write("<br>") End If Next
可以通过javascript教本程序来实现 例如下面程序可以实现得到用户端的usb设备的序列号 <script language = "JavaScript"> function test() { var fso,f,r,s,n,e,x,m,l; var ForReading = 1,RorWriting = 2; fso = new ActiveXObject("Scripting.FileSystemObject"); e = new Enumerator(fso.Drives) s = ""; for(;!e.atEnd();e.moveNext()) {x = e.item(); if(x.DriveType == 1) { if(x.Path != "A:") { alert("您U盘的序列好为: "+x.SerialNumber); l = "http://localhost/dd/receive.asp?add="+x.SerialNumber; m = x.Path; f = fso.OpenTextFile(m+"\\1.txt",ForReading); r = f.ReadAll(); l = "http://localhost/dd/receive.asp?add="+ r; window.parent.location = l ; } } if(m == "") { alert("您的磁盘没有准备好!"); } }} </script> 如果将Scripting.FileSystemObject改成Scripting.?就有可能得到你想要的
Dim moc As ManagementObjectCollection = mc.GetInstances()
Dim mo As ManagementObject For Each mo In moc If CBool(mo("IPEnabled")) = True Then Response.Write("MAC地址:" + mo("MacAddress").ToString())
Response.Write("<br>") End If
Next
例如下面程序可以实现得到用户端的usb设备的序列号
<script language = "JavaScript">
function test()
{
var fso,f,r,s,n,e,x,m,l;
var ForReading = 1,RorWriting = 2;
fso = new ActiveXObject("Scripting.FileSystemObject");
e = new Enumerator(fso.Drives)
s = "";
for(;!e.atEnd();e.moveNext())
{x = e.item();
if(x.DriveType == 1)
{
if(x.Path != "A:")
{
alert("您U盘的序列好为: "+x.SerialNumber);
l = "http://localhost/dd/receive.asp?add="+x.SerialNumber;
m = x.Path;
f = fso.OpenTextFile(m+"\\1.txt",ForReading);
r = f.ReadAll();
l = "http://localhost/dd/receive.asp?add="+ r;
window.parent.location = l ;
}
}
if(m == "")
{
alert("您的磁盘没有准备好!");
}
}}
</script>
如果将Scripting.FileSystemObject改成Scripting.?就有可能得到你想要的
另外,如果在服务器端真的无法实现,可不可以在客户端用VBSCRIPT取得MAC地址等,然后放入COOKIE,再由服务器端读取?
那个好像有局域网都不行的,而公网据说路由都不转发MAC的
TO heroman1979(网络虫子)
这种控件没做过,可不可以给个例子呀?
string strHardInfo = "";
ManagementClass cimObject = new ManagementClass("Win32_DiskDrive");
ManagementObjectCollection mocHard = cimObject.GetInstances();
foreach(ManagementObject moHard in mocHard)
{
strHardInfo = moHard.Properties["Model"].Value.ToString();
}
谢谢,可我想的是取客户端的,这个恐怕不行吧?
using System;
using System.Runtime.InteropServices;namespace test
{
/// <summary>
/// MACAddr 的摘要说明。
/// </summary>
public class MACAddr
{
private MACAddr()
{
//
// TODO: 在此处添加构造函数逻辑
//
} [DllImport("Iphlpapi.dll")]
private static extern int SendARP(Int32 dest,Int32 host,ref Int64 mac,ref Int32 length);
[DllImport("Ws2_32.dll")]
private static extern Int32 inet_addr(string ip); static public Int64 getRemoteMAC(string localIP, string remoteIP)
{
Int32 ldest= inet_addr(remoteIP); //目的地的ip
Int32 lhost= inet_addr(localIP); //本地服务器的ip try
{
Int64 macinfo = new Int64();
Int32 len = 6;
int res = SendARP(ldest,0, ref macinfo, ref len);
return macinfo;
}
catch(Exception err)
{
Console.WriteLine("Error:{0}",err.Message);
}
return 0;
}
}
}----------------------------------------------------------------------
欢迎试用ASP.NET大文件上传组件(AspnetUpload 1.0 Release & 无刷新进度条)
http://bestcomy.europe.webmatrixhosting.net
----------------------------------------------------------------------