Vorwort: Der Autor wollte schon vor einiger Zeit ein MIS-System entwickeln. Da es sich bei MIS um eine nicht-freie Software handelt, muss bei Abschluss der Entwicklung des Systems auch das entsprechende Registrierungsmodul entwickelt werden. Daher habe ich bei der Registrierung für die Auswahl der Funktionscodes eine eindeutige MAC-Adresse der Netzwerkkarte ausgewählt. Kommen wir ohne weitere Umschweife zum Punkt. Da es sich bei diesem System um kommerzielle Software handelt, enthält der folgende Code nur Codeideen und einfachen Implementierungscode. Sie können mit dem Code frei spielen oder ihn mit mir besprechen.
'---------------------Informationen über alle Netzwerkkarten extrahieren-------------------'
Öffentliche Funktion GetMacInfo()
Bei Fehler Weiter fortsetzen
Dimmen Sie fso, FileStr, AspSleepThread, CmdStr, SysDir, wshshell, CmdRe, MacFileContentFile, MacFileContent
Const MacFile = "TmpYesoulSoft001.LLP"
Setze fso = Server.CreateObject("Scripting.FileSystemObject")
SysDir = Split(GlobalMod.GetSysDir, ","")(1)
Wenn InStr(LCase(SysDir), "system32") = 0 Dann
GetMacInfo = "Dieses System kann nur auf 32-Bit-Systemen wie NT, Windows 2000, Windows.Net, Windows XP, Windows 2003 usw. ausgeführt werden. Systeme unter 32-Bit werden nicht unterstützt!"
„www.downcodes.com
Exit-Funktion
Anders
CmdStr = SysDir + "Cmd.exe /C " + SysDir + "Ipconfig.exe /All > " + Server.MapPath(MacFile)
Ende wenn
CmdRe = Shell(CmdStr, vbHide)
Wenn CmdRe <> 0, dann
Setze MacFileContentFile = fso.OpenTextFile(Server.MapPath(MacFile), 1, False, TristateUseDefault)
'GetMacInfo = MacFileContentFile.ReadAll()
'Response.Flush
FileStr = MacFileContentFile.ReadAll()
MacFileContentFile.Close
Setzen Sie MacFileContentFile = Nothing
Setze AspSleepThread = Server.CreateObject("YesoulSoft.SleepThread")
'Definieren Sie die Zeit, die der Thread hängen bleibt, hier sind es Millisekunden
AspSleepThread.SleepTime = 500
AspSleepThread.BeginSleepThread
GetMacInfo = ExecuteOne(FileStr, "Physikalische Adresse. . . . . . . . : (.*)")
Stellen Sie AspSleepThread = Nothing ein
Anders
GetMacInfo = „Das System ist derzeit nicht in der Lage, Ihre Netzwerkinformationen abzurufen. Bitte überprüfen Sie die Berechtigungsvererbungsbeziehung, bevor Sie dieses System ausführen!“
Exit-Funktion
Ende wenn
DelFile MacFile
Setze fso = Nichts
Funktion beenden
'------------------Übereinstimmung des Ergebnisses einmal in der Zeichenfolge------------------'
Öffentliche Funktion ExecuteOne(inpStr, PatStr)
Dim oRe, oMatch, oMatches
Setze oRe = New RegExp
oRe.Pattern = PatStr
inpStr = LCase(inpStr)
oRe.IgnoreCase = True
Setze oMatches = oRe.Execute(inpStr)
Setze oMatch = oMatches(0)
ExecuteOne = oMatch.SubMatches(0)
Endfunktionscode
kann nur die MAC-Adresse der ersten Netzwerkkarte abrufen. Was DNS, Gateway und andere Informationen betrifft, können Sie aus einem Beispiel Rückschlüsse ziehen.