我的编程空间,编程开发者的网络收藏夹
学习永远不晚

VB.NET中如何获取网卡地址

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

VB.NET中如何获取网卡地址

今天就跟大家聊聊有关VB.NET中如何获取网卡地址,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

VB.NET获取网卡地址步骤:

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

2)在Form1中添加一命令按钮,缺省名为Command1。

3)把下列代码放到Form1中说明部分。

  1. Option Explicit   

  2. Private Const NCBASTAT = &H33   

  3. Private Const NCBNAMSZ = 16   

  4. Private Const HEAP_ZERO_MEMORY = &H8   

  5. Private Const HEAP_GENERATE_EXCEPTIONS = &H4   

  6. Private Const NCBRESET = &H32   

  7. Private Type NCB   

  8. ncb_command As Byte 'Integer   

  9. ncb_retcode As Byte 'Integer   

  10. ncb_lsn As Byte 'Integer   

  11. ncb_num As Byte ' Integer   

  12. ncb_buffer As Long 'String   

  13. ncb_length As Integer   

  14. ncb_callname As String * NCBNAMSZ   

  15. ncb_name As String * NCBNAMSZ   

  16. ncb_rto As Byte 'Integer   

  17. ncb_sto As Byte ' Integer   

  18. ncb_post As Long   

  19. ncb_lana_num As Byte 'Integer   

  20. ncb_cmd_cplt As Byte 'Integer   

  21. ncb_reserve(9) As Byte ' Reserved, must be 0   

  22. ncb_event As Long   

  23. End Type   

  24. Private Type ADAPTER_STATUS   

  25. adapter_address(5) As Byte 'As String * 6   

  26. rev_major As Byte 'Integer   

  27. reserved0 As Byte 'Integer   

  28. adapter_type As Byte 'Integer   

  29. rev_minor As Byte 'Integer   

  30. duration As Integer   

  31. frmr_recv As Integer   

  32. frmr_xmit As Integer   

  33. iframe_recv_err As Integer   

  34. xmit_aborts As Integer   

  35. xmit_success As Long   

  36. recv_success As Long   

  37. iframe_xmit_err As Integer   

  38. recv_buff_unavail As Integer   

  39. t1_timeouts As Integer   

  40. ti_timeouts As Integer   

  41. Reserved1 As Long   

  42. free_ncbs As Integer   

  43. max_cfg_ncbs As Integer   

  44. max_ncbs As Integer   

  45. xmit_buf_unavail As Integer   

  46. max_dgram_size As Integer   

  47. pending_sess As Integer   

  48. max_cfg_sess As Integer   

  49. max_sess As Integer   

  50. max_sess_pkt_size As Integer   

  51. name_count As Integer   

  52. End Type   

  53. Private Type NAME_BUFFER   

  54. name As String * NCBNAMSZ   

  55. name_num As Integer   

  56. name_flags As Integer   

  57. End Type   

  58. Private Type ASTAT   

  59. adapt As ADAPTER_STATUS   

  60. NameBuff(30) As NAME_BUFFER   

  61. End Type   

  62. Private Declare Function Netbios 
    Lib "netapi32.dll" (pncb As NCB) As Byte   

  63. Private Declare Sub CopyMemory Lib 
    "kernel32" Alias "RtlMoveMemory" _   

  64. (hpvDest As Any, ByVal hpvSource 
    As Long, ByVal cbCopy As Long)   

  65. Private Declare Function GetProcessHeap 
    Lib "kernel32"() As Long   

  66. Private Declare Function HeapAlloc
     Lib "kernel32" _   

  67. (ByVal hHeap As Long, ByVal 
    dwFlags As Long, _   

  68. ByVal dwBytes As Long) As Long   

  69. Private Declare Function HeapFree Lib 
    "kernel32" (ByVal hHeap As Long, _   

  70. ByVal dwFlags As Long, lpMem As Any) As Long  

把下面的VB.NET获取网卡地址的代码放入Command1_Click的事件中:

  1. Private Sub Command1_Click()   

  2. Dim myNcb As NCB   

  3. Dim bRet As Byte   

  4. myNcb.ncb_command = NCBRESET   

  5. bRet = Netbios(myNcb)   

  6. myNcb.ncb_command = NCBASTAT   

  7. myNcb.ncb_lana_num = 0   

  8. myNcb.ncb_callname = "* "   

  9. Dim myASTAT As ASTAT, tempASTAT As ASTAT   

  10. Dim pASTAT As Long   

  11. myNcb.ncb_length = Len(myASTAT)   

  12. Debug.Print Err.LastDllError   

  13. pASTAT = HeapAlloc(GetProcessHeap(), 
    HEAP_GENERATE_EXCEPTIONS _   

  14. Or HEAP_ZERO_MEMORY, myNcb.ncb_length)   

  15. If pASTAT = 0 Then   

  16. Debug.Print "memory allcoation failed!"   

  17. Exit Sub   

  18. End If   

  19. myNcb.ncb_buffer = pASTAT   

  20. bRet = Netbios(myNcb)   

  21. Debug.Print Err.LastDllError   

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

  23. MsgBox Hex(myASTAT.adapt
    .adapter_address(0)) & " " & _   

  24. Hex(myASTAT.adapt.adapter_
    address(1)) _   

  25. & " " & Hex(myASTAT.adapt
    .adapter_address(2)) & " " _   

  26. & Hex(myASTAT.adapt.adapter_address(3)) _   

  27. & " " & Hex(myASTAT.adapt.
    adapter_address(4)) & " " _   

  28. & Hex(myASTAT.adapt.adapter_address(5))   

  29. HeapFree GetProcessHeap(), 
    0, pASTAT   

  30. End Sub  

4)按F5,运行该程序。

5)点击Command1。注意,网卡地址将在一信息框中显示出来。至此,VB.NET获取网卡地址的操作就结束了。

看完上述内容,你们对VB.NET中如何获取网卡地址有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网行业资讯频道,感谢大家的支持。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

VB.NET中如何获取网卡地址

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

VB.NET中如何获取网卡地址

今天就跟大家聊聊有关VB.NET中如何获取网卡地址,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。VB.NET获取网卡地址步骤: 1)在Visual Basic生成标准的EXE文件。缺
2023-06-17

VB.NET中怎么获取网卡地址

本篇文章给大家分享的是有关VB.NET中怎么获取网卡地址,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。VB.NET获取网卡地址步骤:1.在Visual Basic生成标准的EX
2023-06-17

python获取网卡IP地址

#!/usr/bin/env python # -*- coding: utf-8 -*-  import socket import fcntl import struct  def get_ip_address(ifname):    
2023-01-31

Shell脚本中怎么获取本地网卡IP和mac地址

这篇文章将为大家详细讲解有关Shell脚本中怎么获取本地网卡IP和mac地址,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。#/usr/bin/env bash# Name: get_netw
2023-06-09

java中如何获取MAC地址

这篇文章主要介绍了java中如何获取MAC地址,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。什么是Mac地址?Mac地址就是在媒体接入层上使用的地址,通俗点说就是网卡的物理地
2023-06-17

Python获取本机所有网卡的MAC地址

在拙作《Python可以这样学》(清华大学出版社,2017.2)第297页介绍了一种获取本机网卡MAC地址的方法,不过代码显得稍微有点啰嗦,并且只能获得一块网卡的MAC地址。本文对该内容稍加补充。1、这样更简洁>>> import uuid
2023-01-31

计算机网络中如何获取ip地址

这篇文章将为大家详细讲解有关计算机网络中如何获取ip地址,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。通常获取IP地址的方法是通过路由器或光猫设备进行IP拨号,由网络运营商服务器下发对应的IP地址,进行网
2023-06-15

url地址如何获取

这篇文章将为大家详细讲解有关url地址如何获取,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。url地址的获取方法:首先打开任意浏览器,网站地址栏就是对于的url地址路径信息;然后在命令窗口输入nslook
2023-06-13

如何获得电脑网卡的物理地址

要获取电脑网卡的物理地址,可以按照以下步骤操作:1. 打开电脑的命令提示符(Windows)或终端(Mac、Linux)。2. 在命令提示符或终端中输入以下命令:ipconfig /all(Windows)或ifconfig(Mac、Lin
2023-08-19

windows中正在获取网络地址如何解决

这篇“windows中正在获取网络地址如何解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“windows中正在获取网络地址
2023-07-01

Python如何实现获取内网IP地址

本文小编为大家详细介绍“Python如何实现获取内网IP地址”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python如何实现获取内网IP地址”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。方法一import s
2023-07-05

java如何获取ip地址

java获取IP地址的方法:/** * 通过HttpServletRequest返回IP地址 * * @param request HttpServletRequest * @return ip String * @th
java如何获取ip地址
2016-06-05

Linux上如何获取你的公网IP地址

这篇文章将为大家详细讲解有关Linux上如何获取你的公网IP地址,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Linux上获取你的公网IP地址在办公或家庭环境,我们的虚拟机或服务器上配置的通常是内网 IP
2023-06-27

如何获取静态ip地址

如何获取静态ip地址?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1、路由器(1)将外部网线插入路由器的窗口,然后从路由器的四个窗口中自由选择插入网线和计算机的网卡连接。(
2023-06-15

如何获取IP代理地址

这篇文章给大家分享的是有关如何获取IP代理地址的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。获得代理IP地址的四种方法:1、ADSL拨号服务器。缺点是IP需要重新连接时间,效率低。2、程序爬取的免费代理IP。这个
2023-06-15

vue中如何获取当前路由地址

这篇文章主要介绍了vue中如何获取当前路由地址,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2022-12-08

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录