这是我的代码,请大家帮帮忙!!谢谢。 Public Function GetMacAdd() As String Dim mc As System.Management.ManagementClass Dim mo As ManagementObject mc = New ManagementClass("Win32_NetworkAdapterConfiguration") Dim moc As ManagementObjectCollection = mc.GetInstances() Dim m_str As String Dim m_char As String m_str = "misng" For Each mo In moc If mo.Item("IpEnabled") = True Then m_str = mo.Item("MacAddress").ToString() Exit For End If Next If m_str <> "misng" Then Dim m_int As Integer For m_int = 0 To 11 m_char = m_char & m_str.Chars((m_int \ 2) * 3 + (m_int Mod 2)) Next End If Return m_char End Function
Dim moc As ManagementObjectCollection = mc.GetInstances() 执行到这句出错说:访问被禁止!! 这是什么原因,怎么解决!!
我的程序与上面列出的程序一样: ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration"); ManagementObjectCollection moc = mc.GetInstances(); ArrayList strArr = new ArrayList();//网卡数 foreach(ManagementObject mo in moc) { if((bool)mo["IPEnabled"]) { strArr.Add(mo["MacAddress"].ToString().Replace(":","")); } mo.Dispose(); } 在第一条语句上就报拒绝访问,但在其它几台机器上却可以运行。请高手指点。
这是我的代码,请大家帮帮忙!!谢谢。
Public Function GetMacAdd() As String
Dim mc As System.Management.ManagementClass
Dim mo As ManagementObject
mc = New ManagementClass("Win32_NetworkAdapterConfiguration")
Dim moc As ManagementObjectCollection = mc.GetInstances()
Dim m_str As String
Dim m_char As String
m_str = "misng"
For Each mo In moc
If mo.Item("IpEnabled") = True Then
m_str = mo.Item("MacAddress").ToString()
Exit For End If
Next
If m_str <> "misng" Then
Dim m_int As Integer
For m_int = 0 To 11
m_char = m_char & m_str.Chars((m_int \ 2) * 3 + (m_int Mod 2))
Next
End If
Return m_char
End Function
执行到这句出错说:访问被禁止!!
这是什么原因,怎么解决!!
如果你真要这样做的话就要将这个用户设置相应的权限,不过。安全性方面就不行了。
{
public GetOfMACAddr(){} /// <summary>得到网卡 MAC 地址</summary>
/// <returns>返回地址数组,字符类型</returns>
/// 例:
/// ArrayList myAddr = ArLi.CommonPrj.GetOfMACAddr.GetIt();
/// for (int i=0; i<myAddr.Count; i++) MessageBox.Show(myAddr[i].ToString());
///
public static ArrayList GetIt()
{
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
ArrayList strArr = new ArrayList();
//网卡数
foreach(ManagementObject mo in moc)
{
if((bool)mo["IPEnabled"])
{
strArr.Add(mo["MacAddress"].ToString().Replace(":",""));
}
mo.Dispose();
} return strArr;
}
}
不是很清楚。
在 WEB.CONFIG 里加多一个<identity impersonate="true"/>试试。
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
ArrayList strArr = new ArrayList();//网卡数
foreach(ManagementObject mo in moc)
{
if((bool)mo["IPEnabled"])
{
strArr.Add(mo["MacAddress"].ToString().Replace(":",""));
}
mo.Dispose();
}
在第一条语句上就报拒绝访问,但在其它几台机器上却可以运行。请高手指点。