Prefácio, o autor queria desenvolver um sistema MIS há algum tempo. Como o MIS é um software não livre, o módulo de registro correspondente também deve ser desenvolvido ao concluir o desenvolvimento do sistema. portanto, durante o registro Para a seleção dos códigos de recurso, escolhi um endereço MAC exclusivo da placa de rede. Sem mais delongas, vamos direto ao ponto. Como este sistema é um software comercial, o código a seguir contém apenas ideias de código e código de implementação simples. Você pode brincar livremente com o código ou discuti-lo comigo.
'----------------------Extraia informações sobre todas as placas de rede--------------------'
Função pública GetMacInfo()
Em caso de erro, retomar próximo
Dim fso, FileStr, AspSleepThread, CmdStr, SysDir, wshshell, CmdRe, MacFileContentFile, MacFileContent
Const MacFile = "TmpYesoulSoft001.LLP"
Definir fso = Server.CreateObject("Scripting.FileSystemObject")
SysDir = Dividir(GlobalMod.GetSysDir, ",")(1)
Se InStr(LCase(SysDir), "system32") = 0 Então
GetMacInfo = "Este sistema só pode ser executado em sistemas de 32 bits, como Nt, Windows 2000, Windows.Net, Windows Xp, Windows 2003, etc. Sistemas abaixo de 32 bits não são suportados!"
'www.downcodes.com
Função de saída
Outro
CmdStr = SysDir + "Cmd.exe /C " + SysDir + "Ipconfig.exe /All > " + Server.MapPath(MacFile)
Terminar se
CmdRe = Shell(CmdStr, vbHide)
Se CmdRe <> 0 Então
Definir MacFileContentFile = fso.OpenTextFile(Server.MapPath(MacFile), 1, Falso, TristateUseDefault)
'GetMacInfo = MacFileContentFile.ReadAll()
'Resposta.Flush
FileStr = MacFileContentFile.ReadAll()
MacFileContentFile.Fechar
Definir MacFileContentFile = Nada
Definir AspSleepThread = Server.CreateObject("YesoulSoft.SleepThread")
'Defina o tempo que o thread trava, aqui são milissegundos
AspSleepThread.SleepTime = 500
AspSleepThread.BeginSleepThread
GetMacInfo = ExecuteOne(FileStr, "Endereço Físico. . . . . . . . . : (.*)")
Definir AspSleepThread = Nada
Outro
GetMacInfo = "O sistema atualmente não consegue obter as informações da sua rede. Verifique a relação de herança de permissão antes de executar este sistema!"
Função de saída
Terminar se
DelFile MacArquivo
Definir fso = Nada
Função final
'------------------Corresponde o resultado uma vez na string------------------'
Função Pública ExecuteOne(inpStr, PatStr)
Dim oRe, oMatch, oMatches
Definir oRe = Novo RegExp
oRe.Pattern = PatStr
inpStr = LCase(inpStr)
oRe.IgnoreCase = Verdadeiro
Definir oMatches = oRe.Execute(inpStr)
Definir oMatch = oMatches(0)
ExecuteOne = oMatch.SubMatches(0)
End Function
só pode obter o endereço MAC da primeira placa de rede. Quanto ao DNS, gateway e outras informações, você pode tirar conclusões de um exemplo.