在ASP中取得服务器网卡的MAC地址、DNS地址等网络信息[转]
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
前言,笔者由于前段时间要做桓鯩IS系统的开发,由于该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、网关等信息大家可以举一反三啊。 该文章在 2011/4/10 9:37:21 编辑过 |
关键字查询
相关文章
正在查询... |