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

王朝asp·作者佚名  2006-12-16
窄屏简体版  字體: |||超大  

前言,笔者由于前段时间要做一个MIS系统的开发,由于该MIS为一个非免费软件,故在完成该系统开发时相应的注册模块也须开发,由于为B/S结构的系统,所以在注册特征码的选择上我选择了独一无二的网卡MAC地址。闲话少说,下面切入正题。由于该系统属商业软件,故以下代码中仅包含代码思路,及简单的实现代码,具体大家可根据代码自由发挥,也可与我一起切磋。

'--------------------------提取所有网卡的信息------------------------'

'------POWERED BY YESOUL SOFT 不速白客原创,采用请保留此信息 http://www.772.cn -----------'

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

欢迎大家与我联系,本代码结构简单,需要采用的请自由采用及发挥,如果你有更好的思想,请及时告诉我啊,QQ:115269 EMAIL:Ycsyb@ycsyb.com

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航