当前位置: 首页 > 图文教程 > 网络编程 > ASP > 在ASP中取得服务器网卡的MAC地址、DNS地址等网络信息

ASP
基于ASP的收发文管理系统的设计与实现
用ASP制作张扬个性的调查系统
使用XMLHTTP制作域名查询系统
Delphi编写组件封装asp代码的基本步骤
采用XMLHTTP编写一个天气预报的程序
菜鸟详听ASP中也能解压缩rar文件
用Asp+XmlHttp实现RssReader功能
纯ASP代码之公历转农历实现(含属相)
纯ASP代码之公历转农历实现(含属相)--例子代码
多个域名后缀同时查询的域名查询系统
实现有管理功能的ASP留言板
Jmail发信的实例,模块化随时调用
纯ASP(VBscript)写的全球IP地址搜索程序
数字和字母组合并生成图片的验证码祥解
金额大小写转换的asp完全无错版本
用ASP学做一个在线调查
利用客户端js实现汉字简体繁体转换
ASP操作XML文件的完整实例
浅谈TeeChart组件在ASP中的应用
在VB中利用Word宏命令开发ASP组件

在ASP中取得服务器网卡的MAC地址、DNS地址等网络信息


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 114 ::
收藏到网摘: n/a

 

    前言,笔者由于前段时间要做一个MIS系统的开发,由于该MIS为一个非免费软件,故在完成该系统开发时相应的注册模块也须开发,由于为B/S结构的系统,所以在注册特征码的选择上我选择了独一无二的网卡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位以下的系统!"
'www.knowsky.com
            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

代码中GETMACINFO函数仅仅可以获取首个网卡的MAC地址,至于DNS、网关等信息大家可以举一反三啊。