国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > ASP > 正文

在ASP中用組件檢測當前網卡地址的代碼

2024-05-04 11:05:39
字體:
來源:轉載
供稿:網友

程序員需要掌握我們開發過程中的顯示記錄,現在我們需要是的將信息內容插入到數據庫中,接下來錯新技術頻道小編為大家分享在ASP中用組件檢測當前網卡地址的代碼,希望能幫到您。

Option?Explicit

???Private?Const?NCBASTAT?=?&H33
???Private?Const?NCBNAMSZ?=?16
???Private?Const?HEAP_ZERO_MEMORY?=?&H8
???Private?Const?HEAP_GENERATE_EXCEPTIONS?=?&H4
???Private?Const?NCBRESET?=?&H32

???Private?Type?NCB
????????ncb_command?As?Byte?'Integer
????????ncb_retcode?As?Byte?'Integer
????????ncb_lsn?As?Byte?'Integer
????????ncb_num?As?Byte?'?Integer
????????ncb_buffer?As?Long?'String
????????ncb_length?As?Integer
????????ncb_callname?As?String?*?NCBNAMSZ
????????ncb_name?As?String?*?NCBNAMSZ
????????ncb_rto?As?Byte?'Integer
????????ncb_sto?As?Byte?'?Integer
????????ncb_post?As?Long
????????ncb_lana_num?As?Byte?'Integer
????????ncb_cmd_cplt?As?Byte??'Integer
????????ncb_reserve(9)?As?Byte?'?Reserved,?must?be?0
????????ncb_event?As?Long
???End?Type
???Private?Type?ADAPTER_STATUS
????????adapter_address(5)?As?Byte?'As?String?*?6
????????rev_major?As?Byte?'Integer
????????reserved0?As?Byte?'Integer
????????adapter_type?As?Byte?'Integer
????????rev_minor?As?Byte?'Integer
????????duration?As?Integer
????????frmr_recv?As?Integer
????????frmr_xmit?As?Integer
????????iframe_recv_err?As?Integer
????????xmit_aborts?As?Integer
????????xmit_success?As?Long
????????recv_success?As?Long
????????iframe_xmit_err?As?Integer
????????recv_buff_unavail?As?Integer
????????t1_timeouts?As?Integer
????????ti_timeouts?As?Integer
????????Reserved1?As?Long
????????free_ncbs?As?Integer
????????max_cfg_ncbs?As?Integer
????????max_ncbs?As?Integer
????????xmit_buf_unavail?As?Integer
????????max_dgram_size?As?Integer
????????pending_sess?As?Integer
????????max_cfg_sess?As?Integer
????????max_sess?As?Integer
????????max_sess_pkt_size?As?Integer
????????name_count?As?Integer
???End?Type
???Private?Type?NAME_BUFFER
????????name??As?String?*?NCBNAMSZ
????????name_num?As?Integer
????????name_flags?As?Integer
???End?Type
???Private?Type?ASTAT
????????adapt?As?ADAPTER_STATUS
????????NameBuff(30)?As?NAME_BUFFER
???End?Type

???Private?Declare?Function?Netbios?Lib?"netapi32.dll"?_
???????????(pncb?As?NCB)?As?Byte
???Private?Declare?Sub?CopyMemory?Lib?"kernel32"?Alias?"RtlMoveMemory"?(?_
???????????hpvDest?As?Any,?ByVal?hpvSource?As?Long,?ByVal?cbCopy?As?Long)
???Private?Declare?Function?GetProcessHeap?Lib?"kernel32"?()?As?Long
???Private?Declare?Function?HeapAlloc?Lib?"kernel32"?_
???????????(ByVal?hHeap?As?Long,?ByVal?dwFlags?As?Long,?_
???????????ByVal?dwBytes?As?Long)?As?Long
???Private?Declare?Function?HeapFree?Lib?"kernel32"?(ByVal?hHeap?As?Long,?_
???????????ByVal?dwFlags?As?Long,?lpMem?As?Any)?As?Long

Public?Function?GetMACAddress(sIP?As?String)?As?String
????Dim?sRtn?As?String
????Dim?myNcb?As?NCB
????Dim?bRet?As?Byte

????Dim?aIP()?As?String
????Dim?x?As?Long
????Dim?nIP?As?String

????If?InStr(sIP,?".")?=?0?Then
???????GetMACAddress?=?"無效的IP地址."
???????Exit?Function
????End?If

????aIP?=?Split(sIP,?".",?-1,?vbTextCompare)
????If?UBound(aIP())?<>?3?Then
???????GetMACAddress?=?"無效的IP地址."
???????Exit?Function
????End?If

????For?x?=?0?To?UBound(aIP())
????????If?Len(aIP(x))?>?3?Then
???????????GetMACAddress?=?"無效的IP地址"
???????????Exit?Function
????????End?If

????????If?IsNumeric(aIP(x))?=?False?Then
???????????GetMACAddress?=?"無效的IP地址"
???????????Exit?Function
????????End?If

????????If?InStr(aIP(x),?",")?<>?0?Then
???????????GetMACAddress?=?"無效的IP地址"
???????????Exit?Function
????????End?If

????????If?CLng(aIP(x))?>?255?Then
???????????GetMACAddress?=?"無效的IP地址"
???????????Exit?Function
????????End?If

????????If?nIP?=?""?Then
???????????nIP?=?String(3?-?Len(aIP(x)),?"0")?&?aIP(x)
????????Else
???????????nIP?=?nIP?&?"."?&?String(3?-?Len(aIP(x)),?"0")?&?aIP(x)
????????End?If
????Next

????sRtn?=?""
????myNcb.ncb_command?=?NCBRESET
????bRet?=?Netbios(myNcb)
????myNcb.ncb_command?=?NCBASTAT
????myNcb.ncb_lana_num?=?0
????myNcb.ncb_callname?=?nIP?&?Chr(0)

????Dim?myASTAT?As?ASTAT,?tempASTAT?As?ASTAT
????Dim?pASTAT?As?Long
????myNcb.ncb_length?=?Len(myASTAT)

????pASTAT?=?HeapAlloc(GetProcessHeap(),?HEAP_GENERATE_EXCEPTIONS?Or?HEAP_ZERO_MEMORY,?myNcb.ncb_length)
????If?pASTAT?=?0?Then
????????GetMACAddress?=?"memory?allcoation?failed!"
????????Exit?Function
????End?If

????myNcb.ncb_buffer?=?pASTAT
????bRet?=?Netbios(myNcb)

????If?bRet?<>?0?Then
???????GetMACAddress?=?"不能從當前IP地址獲得MAC,當前IP地址:?"?&?sIP
???????Exit?Function
????End?If

????CopyMemory?myASTAT,?myNcb.ncb_buffer,?Len(myASTAT)

????Dim?sTemp?As?String
????Dim?i?As?Long
????For?i?=?0?To?5
????????sTemp?=?Hex(myASTAT.adapt.adapter_address(i))
????????If?i?=?0?Then
???????????sRtn?=?IIf(Len(sTemp)?<?2,?"0"?&?sTemp,?sTemp)
????????Else
???????????sRtn?=?sRtn?&?Space(1)?&?IIf(Len(sTemp)?<?2,?"0"?&?sTemp,?sTemp)
????????End?If
????Next
????HeapFree?GetProcessHeap(),?0,?pASTAT
????GetMACAddress?=?sRtn
End?Function


使用方法:

set?S_MAC?=?server.CreateObject(?"工程名.類名")
response.write?S_MAC.GetMACAddress(Request.Servervariables("REMOTE_HOST"))
set?S_MAC?=?nothing

上文是錯新技術頻道小編為各位整理分享的在ASP中用組件檢測當前網卡地址的代碼,其實操作很簡單,希望這些知識可以幫助各位程序員。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 和田县| 关岭| 原阳县| 广东省| 江西省| 尼玛县| 南岸区| 淮滨县| 正镶白旗| 武威市| 阳春市| 卢龙县| 绿春县| 诸暨市| 泾阳县| 靖宇县| 安化县| 雷波县| 江达县| 黔东| 扶风县| 呼和浩特市| 嘉善县| 唐海县| 佛教| 德昌县| 南京市| 博客| 丰都县| 景东| 毕节市| 延寿县| 河北省| 平原县| 舟曲县| 大厂| 扎囊县| 鄯善县| 沙河市| 玛纳斯县| 延边|