คำนำ ผู้เขียนต้องการพัฒนาระบบ MIS เมื่อไม่นานมานี้ เนื่องจาก MIS เป็นซอฟต์แวร์ที่ไม่เสียค่าใช้จ่าย จึงต้องมีการพัฒนาโมดูลการลงทะเบียนที่เกี่ยวข้องเมื่อเสร็จสิ้นการพัฒนาระบบ เนื่องจากเป็นระบบที่มีโครงสร้างแบบ B/S ดังนั้นในระหว่างการลงทะเบียนสำหรับการเลือกรหัสคุณสมบัติ ฉันจึงเลือกที่อยู่ MAC ของการ์ดเครือข่ายที่ไม่ซ้ำกัน โดยไม่ต้องกังวลใจอีกต่อไป เรามาเข้าประเด็นกันดีกว่า เนื่องจากระบบนี้เป็นซอฟต์แวร์เชิงพาณิชย์ โค้ดต่อไปนี้จึงมีเพียงแนวคิดเกี่ยวกับโค้ดและโค้ดการใช้งานแบบง่ายเท่านั้น คุณสามารถเล่นกับโค้ดได้อย่างอิสระ หรือคุณสามารถพูดคุยกับฉันก็ได้
'---------------------- แยกข้อมูลเกี่ยวกับการ์ดเครือข่ายทั้งหมด --------------------'
ฟังก์ชั่นสาธารณะ GetMacInfo()
เมื่อเกิดข้อผิดพลาด ดำเนินการต่อ
Dim fso ถัดไป, FileStr, AspSleepThread, CmdStr, SysDir, wshshell, CmdRe, MacFileContentFile, MacFileContent
Const MacFile = "TmpYesoulSoft001.LLP"
ตั้งค่า fso = Server.CreateObject("Scripting.FileSystemObject")
SysDir = แยก(GlobalMod.GetSysDir, ",")(1)
ถ้า InStr(LCase(SysDir), "system32") = 0 จากนั้น
GetMacInfo = "ระบบนี้สามารถทำงานบนระบบ 32 บิตเท่านั้น เช่น Nt, Windows 2000, Windows.Net, Windows Xp, Windows 2003 เป็นต้น ระบบที่ไม่รองรับระบบที่ต่ำกว่า 32 บิต!"
'www.downcodes.com'
ออกจากฟังก์ชัน
อื่น
CmdStr = SysDir + "Cmd.exe /C " + SysDir + "Ipconfig.exe /ทั้งหมด > " + Server.MapPath(MacFile)
สิ้นสุดถ้า
CmdRe = เชลล์ (CmdStr, vbHide)
ถ้า CmdRe <> 0 แล้ว
ตั้งค่า MacFileContentFile = fso.OpenTextFile (Server.MapPath (MacFile), 1, False, TristateUseDefault)
'GetMacInfo = MacFileContentFile.ReadAll()
'การตอบสนองฟลัช
FileStr = MacFileContentFile.ReadAll()
MacFileContentFile.ปิด
ตั้งค่า MacFileContentFile = ไม่มีเลย
ตั้งค่า AspSleepThread = Server.CreateObject("YesoulSoft.SleepThread")
'กำหนดเวลาที่เธรดค้าง นี่คือมิลลิวินาที'
AspSleepThread.SleepTime = 500
AspSleepThread.BeginSleepThread
GetMacInfo = ExecuteOne(FileStr, "ที่อยู่จริง . . . . . . . . : (.*)")
ตั้งค่า AspSleepThread = ไม่มีเลย
อื่น
GetMacInfo = "ขณะนี้ระบบไม่สามารถรับข้อมูลเครือข่ายของคุณได้ โปรดตรวจสอบความสัมพันธ์ของการสืบทอดสิทธิ์ก่อนใช้งานระบบนี้!"
ออกจากฟังก์ชัน
สิ้นสุดถ้า
DelFile MacFile
ตั้งค่า fso = ไม่มีเลย
ฟังก์ชันสิ้นสุด
'-----------------จับคู่ผลลัพธ์ครั้งเดียวในสตริง------------------'
ฟังก์ชั่นสาธารณะ ExecuteOne (inpStr, PatStr)
Dim oRe, oMatch, oMatches
ตั้งค่า oRe = RegExp ใหม่
oRe.Pattern = PatStr
inpStr = LCase(inpStr)
oRe.IgnoreCase = จริง
ตั้งค่า oMatches = oRe.Execute(inpStr)
ตั้งค่า oMatch = oMatches(0)
ExecuteOne = oMatch.SubMatches(0)
End Function
สามารถรับได้เฉพาะที่อยู่ MAC ของการ์ดเครือข่ายแรกเท่านั้น สำหรับ DNS เกตเวย์ และข้อมูลอื่น ๆ คุณสามารถอนุมานได้จากตัวอย่างเดียว