明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

在ASP中取得服務(wù)器網(wǎng)卡的MAC地址、DNS地址等網(wǎng)絡(luò)信息

[摘要]前言,筆者由于前段時(shí)間要做一個(gè)MIS系統(tǒng)的開發(fā),由于該MIS為一個(gè)非免費(fèi)軟件,故在完成該系統(tǒng)開發(fā)時(shí)相應(yīng)的注冊模塊也須開發(fā),由于為B/S結(jié)構(gòu)的系統(tǒng),所以在注冊特征碼的選擇上我選擇了獨(dú)一無二的網(wǎng)卡MAC地址。閑話少說,下面切入正題。由于該系統(tǒng)屬商業(yè)軟件,故以下代碼中僅包含代碼思路,及簡單的實(shí)現(xiàn)代碼,具...

    前言,筆者由于前段時(shí)間要做一個(gè)MIS系統(tǒng)的開發(fā),由于該MIS為一個(gè)非免費(fèi)軟件,故在完成該系統(tǒng)開發(fā)時(shí)相應(yīng)的注冊模塊也須開發(fā),由于為B/S結(jié)構(gòu)的系統(tǒng),所以在注冊特征碼的選擇上我選擇了獨(dú)一無二的網(wǎng)卡MAC地址。閑話少說,下面切入正題。由于該系統(tǒng)屬商業(yè)軟件,故以下代碼中僅包含代碼思路,及簡單的實(shí)現(xiàn)代碼,具體大家可根據(jù)代碼自由發(fā)揮,也可與我一起切磋。

'----------------------提取所有網(wǎng)卡的信息--------------------'

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 = "本系統(tǒng)只能運(yùn)行在Nt、Windows 2000、Windows.Net、Windows Xp、Windows 2003等32位系統(tǒng)下,不支持32位以下的系統(tǒng)!"
'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")
        '定義線程掛起的時(shí)間,這里為毫秒
        AspSleepThread.SleepTime = 500
        AspSleepThread.BeginSleepThread
        GetMacInfo = ExecuteOne(FileStr, "Physical Address. . . . . . . . . : (.*)")
        Set AspSleepThread = Nothing
        Else
        GetMacInfo = "系統(tǒng)當(dāng)前無法獲取您的網(wǎng)絡(luò)信息,請檢查權(quán)限繼承關(guān)系后再運(yùn)行本系統(tǒng)!"
        Exit Function
        End If
        DelFile MacFile
       
    Set fso = Nothing
   
End Function
'------------------在字符串匹配一次結(jié)果-------------------'
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函數(shù)僅僅可以獲取首個(gè)網(wǎng)卡的MAC地址,至于DNS、網(wǎng)關(guān)等信息大家可以舉一反三啊。