دریافت Mac Address در اکسس
بسم الله الرحمن الرحیم
سلام
برای برخی از برنامه نویسان، بدست آوردن مشخصات سیستم کاربر شاید امری اجتناب ناپذیر باشد.
به گونهای که زیربنای امنیت برنامه خود را وابسته به این شاخصهها میکنند تا قدمهای رعایت امنیت را محکمتر بردارند.
در همین راستا بدست آوردن مکآدرس رایانه کاربر شاید یکی از پلهها باشد که در این آموزش قصد دارم تا چگونگی بدست آوردن این شناسه را مرور کنیم.
بدست آوردن Mac Address
به صورت عادی و با امکانات موجود امکان پذیر نیست، لذا شما باید با استفاده از یک ماژول این شناسه را بدست آورید.
پس یک ماژول جدید ایجاد کنید و کدهای زیرا درونش قرار دهید؛
Function GetMyMACAddress() As String 'Published by Access-Training.blog.ir' 'You are allowed to expand this module. Please do not delete the publisher name.' 'Declaring the necessary variables. Dim strComputer As String Dim objWMIService As Object Dim colItems As Object Dim objItem As Object Dim myMACAddress As String 'Set the computer. strComputer = "." 'The root\cimv2 namespace is used to access the Win32_NetworkAdapterConfiguration class. Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") 'A select query is used to get a collection of network adapters that have the property IPEnabled equal to true. Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True") 'Loop through all the collection of adapters and return the MAC address of the first adapter that has a non-empty IP. For Each objItem In colItems If Not IsNull(objItem.IPAddress) Then myMACAddress = objItem.MACAddress Exit For Next 'Return the IP string. GetMyMACAddress = myMACAddress End Function
اکنون به سادگی هرچه تمامتر مک آدرس یا مک آی پی خودتون را از طریق متغیر GetMyMACAddress
استخراج کنید.
ضمن عرض سلام و خداقوت این ماژول اجرا نمی گردد و در خط
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True ")
خطا می دهد
خطا :
Run-time error ‘91’:
Object variable or with block variable not set
چگونه اصلاح نمایم
تشکر