Avant-propos, l'auteur a voulu développer un système MIS il y a quelque temps. Puisque le MIS est un logiciel non libre, le module d'enregistrement correspondant doit également être développé lors de la finalisation du développement du système. Puisqu'il s'agit d'un système structuré B/S, ainsi lors de l'inscription Pour la sélection des codes de fonctionnalité, j'ai choisi une adresse MAC de carte réseau unique. Sans plus attendre, entrons dans le vif du sujet. Étant donné que ce système est un logiciel commercial, le code suivant ne contient que des idées de code et un code d'implémentation simple. Vous pouvez jouer librement avec le code ou en discuter avec moi.
'----------------------Extraire les informations sur toutes les cartes réseau------------------------'
Fonction publique GetMacInfo()
En cas d'erreur, reprise suivante
Dim fso, FileStr, AspSleepThread, CmdStr, SysDir, wshshell, CmdRe, MacFileContentFile, MacFileContent
Const MacFile = "TmpYesoulSoft001.LLP"
Définir fso = Server.CreateObject("Scripting.FileSystemObject")
SysDir = Split(GlobalMod.GetSysDir, ",")(1)
Si InStr(LCase(SysDir), "system32") = 0 Alors
GetMacInfo = "Ce système ne peut fonctionner que sur des systèmes 32 bits tels que NT, Windows 2000, Windows.Net, Windows Xp, Windows 2003, etc. Les systèmes inférieurs à 32 bits ne sont pas pris en charge !"
'www.downcodes.com
Fonction de sortie
Autre
CmdStr = SysDir + "Cmd.exe /C " + SysDir + "Ipconfig.exe /All > " + Server.MapPath (MacFile)
Fin si
CmdRe = Shell (CmdStr, vbHide)
Si CmdRe <> 0 Alors
Définir MacFileContentFile = fso.OpenTextFile(Server.MapPath(MacFile), 1, False, TristateUseDefault)
'GetMacInfo = MacFileContentFile.ReadAll()
'Réponse.Flush
FileStr = MacFileContentFile.ReadAll()
MacFileContentFile.Fermer
Définir MacFileContentFile = Rien
Définir AspSleepThread = Server.CreateObject("YesoulSoft.SleepThread")
'Définissez le temps pendant lequel le thread se bloque, ici c'est en millisecondes
AspSleepThread.SleepTime = 500
AspSleepThread.BeginSleepThread
GetMacInfo = ExecuteOne(FileStr, "Adresse physique. . . . . . . . . : (.*)")
Définir AspSleepThread = Rien
Autre
GetMacInfo = "Le système est actuellement incapable d'obtenir les informations de votre réseau. Veuillez vérifier la relation d'héritage des autorisations avant d'exécuter ce système !"
Fonction de sortie
Fin si
DelFile MacFile
Définir fso = Rien
Fonction de fin
'------------------Faire correspondre le résultat une fois dans la chaîne------------------'
Fonction publique ExecuteOne (inpStr, PatStr)
Dim oRe, oMatch, oMatches
Définir oRe = Nouvelle RegExp
oRe.Pattern = PatStr
inpStr = LCase (inpStr)
oRe.IgnoreCase = Vrai
Définir oMatches = oRe.Execute (inpStr)
Définir oMatch = oMatches(0)
ExecuteOne = oMatch.SubMatches(0)
de fonction de fin
ne peut obtenir que l'adresse MAC de la première carte réseau. Quant au DNS, à la passerelle et à d'autres informations, vous pouvez tirer des conclusions à partir d'un exemple.