求救如何获取网卡

ztoplh 2008-10-03 02:21:26
我写的获取网卡地址的代码
#region 调用本机网卡MAC地址
public string GetMacAddress()
{
try
{
//获取网卡硬件地址
string mac = "";
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
if ((bool)mo["IPEnabled"] == true)
{
mac = mo["MacAddress"].ToString();
break;
}
}
moc = null;
mc = null;
return mac;
}
catch
{
return "unknow";
}
finally
{
}

}
#endregion
这个在没有ADSL拨号的时候使用正常,但用在ADSL拨号上网的时候,就获取不到了,请求帮助,怎么解决?
...全文
69 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
winner2050 2008-10-03
  • 打赏
  • 举报
回复
这个代码一看就知道是取服务器的了。
mengxj85 2008-10-03
  • 打赏
  • 举报
回复
这个意义重大哦,关注
ztoplh 2008-10-03
  • 打赏
  • 举报
回复
好啊!要啊!客户端要安装的吗?
ximenwuji 2008-10-03
  • 打赏
  • 举报
回复
脚本语言是无法取得客户端的网卡地址的
如果你需要,我可以帮你用C++builder写一个activex
yyixin 2008-10-03
  • 打赏
  • 举报
回复
通过AxtiveX来获取:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<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 m;
service.Security_.ImpersonationLevel=3;
service.InstancesOfAsync(foo, 'Win32_NetworkAdapterConfiguration');
//-->
</SCRIPT>
<SCRIPT language="JScript" event="OnObjectReady(objObject,objAsyncContext)" for="foo">
<!--
if(objObject.MACAddress != null && objObject.MACAddress != "undefined")
m = objObject.MACAddress;
//-->
</SCRIPT>
<title>无标题文档 </title>
</head>

<body>
<SCRIPT language="JScript" event="OnCompleted(hResult,pErrorObject, pAsyncContext)" for="foo">
window.alert("本机MAC地址为:" + m.toUpperCase());
</SCRIPT>
</body>
</html>
kindliness110 2008-10-03
  • 打赏
  • 举报
回复
你这样能通过防火墙吗!我是菜鸟!不懂了
ztoplh 2008-10-03
  • 打赏
  • 举报
回复
jsp 的代码有吗?网上找过jsp代码,但是提示安全,无法获取
flashlove2008 2008-10-03
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ztoplh 的回复:]
我要获取客户端的网卡地址,我试了好像都是获取服务器的
[/Quote]

有不是在客户端执行的 怎么能获取客户端的网卡,除非能调用客户端的组件或者插件什么的还差不多
ztoplh 2008-10-03
  • 打赏
  • 举报
回复
我要获取客户端的网卡地址,我试了好像都是获取服务器的
ztoplh 2008-10-03
  • 打赏
  • 举报
回复
能详细点吗?这样是将ID也显示出来吗?
hornbills 2008-10-03
  • 打赏
  • 举报
回复
把所有设备读出来试试,去掉条件if ((bool)WmiObj("IPEnabled"))

ADSL用PPPOE可能会对网络设置有影响


System.Management.ManagementObjectSearcher Wmi = new System.Management.ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapterConfiguration");

foreach (ManagementObject WmiObj in Wmi.Get) {
if ((bool)WmiObj("IPEnabled")) {
TextBox1.Text += "IP(" + WmiObj("IPAddress")(0) + ")|MAC(" + WmiObj("MACAddress") + ")" + Constants.vbCrLf;
}

62,046

社区成员

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

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

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

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