如何通过VB.NET获取网卡地址

 我来答
玄雨螺A
2022-10-12 · TA获得超过2905个赞
知道小有建树答主
回答量:627
采纳率:80%
帮助的人:82.2万
展开全部

  程序语言 Microsoft Visual Basic

  运行平台 WINDOWS

  功能描述 IPX和NETBIOS接口需要网络地址 该文通过详细的步骤演示了如何通过VB获取网卡地址    步骤

   )在Visual Basic生成标准的EXE文件 缺省创建 Form

   )在Form 中添加一命令按钮 缺省名为Command

   )把下列代码放到Form 中说明部分  

  

  

  Option Explicit Private Const NCBASTAT = &H Private Const NCBNAMSZ = Private Const HEAP_ZERO_MEMORY = &H Private Const HEAP_GENERATE_EXCEPTIONS = &H Private Const NCBRESET = &H Private Type NCB ncb_mand 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( ) As Byte Reserved must be ncb_event As Long End Type Private Type ADAPTER_STATUS adapter_address( ) As Byte As String * rev_major As Byte Integer reserved 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 t _timeouts As Integer ti_timeouts As Integer Reserved 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( ) As NAME_BUFFER End Type Private Declare Function Netbios Lib netapi dll (pncb As NCB) As Byte Private Declare Sub CopyMemory Lib kernel Alias RtlMoveMemory _(hpvDest As Any ByVal hpvSource As Long ByVal cbCopy As Long) Private Declare Function GetProcessHeap Lib kernel () As Long Private Declare Function HeapAlloc Lib kernel _ (ByVal hHeap As Long ByVal dwFlags As Long _ ByVal dwBytes As Long) As Long Private Declare Function HeapFree Lib kernel (ByVal hHeap As Long _ ByVal dwFlags As Long lpMem As Any) As Long

  把下面的代码放入Command _Click的事件中

  

  

  Private Sub Command _Click() Dim myNcb As NCB Dim bRet As Byte myNcb ncb_mand = NCBRESET bRet = Netbios(myNcb) myNcb ncb_mand = NCBASTAT myNcb ncb_lana_num = myNcb ncb_callname = * Dim myASTAT As ASTAT tempASTAT As ASTAT Dim pASTAT As Long myNcb ncb_length = Len(myASTAT) Debug Print Err LastDllError pASTAT = HeapAlloc(GetProcessHeap() HEAP_GENERATE_EXCEPTIONS _ Or HEAP_ZERO_MEMORY myNcb ncb_length) If pASTAT = Then Debug Print memory allcoation failed! Exit Sub End If myNcb ncb_buffer = pASTAT bRet = Netbios(myNcb) Debug Print Err LastDllError CopyMemory myASTAT myNcb ncb_buffer Len(myASTAT) MsgBox Hex(myASTAT adapt adapter_address( )) & & _ Hex(myASTAT adapt adapter_address( )) _ & & Hex(myASTAT adapt adapter_address( )) & _ & Hex(myASTAT adapt adapter_address( )) _ & & Hex(myASTAT adapt adapter_address( )) & _ & Hex(myASTAT adapt adapter_address( )) HeapFree GetProcessHeap() pASTAT End Sub

   )按F 运行该程序

lishixinzhi/Article/program/net/201311/12061

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Storm代理
2023-07-25 广告
StormProxies是一家国内优质海外HTTP代理商,拥有一个庞大的IP资源池,覆盖200多个地区,IP数量大且匿名度高。其优点还包括超高并发、稳定高效、技术服务等特点,同时提供HTTP、HTTPS以及SOCKS5协议支持。此外,Sto... 点击进入详情页
本回答由Storm代理提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式