应用技巧

关注公众号 jb51net

关闭
首页 > 网络编程 > ASP编程 > 应用技巧 >

使用ASP获得服务器网卡的MAC地址信息

作者:

使用ASP获得服务器网卡的MAC地址信息
'----------------------提取所有网卡的信息--------------------' 

Public Function GetMacInfo() 
    On Error Resume Next 

    Dim fso, FileStr, AspSleepThread, CmdStr, SysDir, wshshell, CmdRe, MacFileContentFile, MacFileContent 
    Const MacFile = "TmpYesoulSoft001.LLP" 
    Set fso = Server.CreateObject("Scripting.FileSystemObject") 

    SysDir = Split(GlobalMod.GetSysDir, ",")(1) 
            If InStr(LCase(SysDir), "system32") = 0 Then 
            GetMacInfo = "本系统只能运行在Nt、Windows 2000、Windows.Net、Windows Xp、Windows 2003等32位系统下,不支持32位以下的系统!" 
            Exit Function 
            Else 
            CmdStr = SysDir + "\Cmd.exe /C " + SysDir + "\Ipconfig.exe /All > " + Server.MapPath(MacFile) 
            End If 
        CmdRe = Shell(CmdStr, vbHide) 
        If CmdRe <> 0 Then 
        Set MacFileContentFile = fso.OpenTextFile(Server.MapPath(MacFile), 1, False, TristateUseDefault) 
        'GetMacInfo = MacFileContentFile.ReadAll() 
        'Response.Flush 
        FileStr = MacFileContentFile.ReadAll() 
        MacFileContentFile.Close 
        Set MacFileContentFile = Nothing 
        Set AspSleepThread = Server.CreateObject("YesoulSoft.SleepThread") 
        '定义线程挂起的时间,这里为毫秒 
        AspSleepThread.SleepTime = 500 
        AspSleepThread.BeginSleepThread 
        GetMacInfo = ExecuteOne(FileStr, "Physical Address. . . . . . . . . : (.*)") 
        Set AspSleepThread = Nothing 
        Else 
        GetMacInfo = "系统当前无法获取您的网络信息,请检查权限继承关系后再运行本系统!" 
        Exit Function 
        End If 
        DelFile MacFile 

    Set fso = Nothing 

End Function 
'------------------在字符串匹配一次结果-------------------' 
Public Function ExecuteOne(inpStr, PatStr) 
  Dim oRe, oMatch, oMatches 
  Set oRe = New RegExp 
  oRe.Pattern = PatStr 
  inpStr = LCase(inpStr) 
  oRe.IgnoreCase = True 
  Set oMatches = oRe.Execute(inpStr) 
  Set oMatch = oMatches(0) 
  ExecuteOne = oMatch.SubMatches(0) 
End Function
阅读全文