易语言调用api获取网卡信息网络连接名的代码

DLL命令表

.版本 2
.DLL命令 GetAdaptersInfo, 整数型, "IPHlpApi"
  .参数 IpAdapterInfo, 字节集
  .参数 pOutBufLen, 整数型, 传址
.DLL命令 取变量地址_字节集, 整数型, , "lstrcpynA"
  .参数 变量, 字节集, 传址
  .参数 变量, 字节集, 传址
  .参数 保留, 整数型, , 0
.DLL命令 CopyMemory_iai, , "kernel32", "RtlMoveMemory"
  .参数 Destination, IP_ADAPTER_INFO, 传址
  .参数 Source, 整数型
  .参数 Length, 整数型
.DLL命令 CopyMemory_ias, , "kernel32", "RtlMoveMemory"
  .参数 Destination, IP_ADDR_STRING, 传址
  .参数 Source, IP_ADDR_STRING
  .参数 Length, 整数型
.DLL命令 GetPerAdapterInfo, 整数型, "IPHlpApi"
  .参数 IfIndex, 整数型
  .参数 pPerAdapterInfo, 字节集
  .参数 pOutBufLen, 整数型, 传址
.DLL命令 CopyMemory_ipai, , "kernel32", "RtlMoveMemory"
  .参数 Destination, IP_PER_ADAPTER_INFO, 传址
  .参数 Source, 整数型
  .参数 Length, 整数型

自定义数据类型表

.版本 2
.数据类型 IP_ADAPTER_INFO
  .成员 Next, 整数型
  .成员 ComboIndex, 整数型
  .成员 AdapterName, 字节型, , "260", 名称
  .成员 Description, 字节型, , "132", 描述
  .成员 AddressLength, 整数型
  .成员 Address, 字节型, , "8"
  .成员 Index, 整数型
  .成员 Type, 整数型, , , 类型
  .成员 DhcpEnabled, 整数型
  .成员 CurrentIpAddress, 整数型
  .成员 IpAddressList, IP_ADDR_STRING
  .成员 GatewayList, IP_ADDR_STRING
  .成员 DhcpServer, IP_ADDR_STRING
  .成员 HaveWins, 逻辑型
  .成员 PrimaryWinsServer, IP_ADDR_STRING
  .成员 SecondaryWinsServer, IP_ADDR_STRING
  .成员 LeaseObtained, 整数型
  .成员 LeaseExpires, 整数型
.数据类型 IP_ADDR_STRING
  .成员 Next, 整数型
  .成员 IpAddress, 字节型, , "16", IP_ADDRESS_STRING
  .成员 IpMask, 字节型, , "16", IP_MASK_STRING=IP_ADDRESS_STRING
  .成员 Context, 整数型
.数据类型 网卡信息_
  .成员 名称, 文本型
  .成员 连接名称, 文本型
  .成员 Mac, 文本型
  .成员 Ip, 文本型
  .成员 掩码, 文本型
  .成员 网关, 文本型
  .成员 DNS1, 文本型
  .成员 DNS2, 文本型
.数据类型 IP_PER_ADAPTER_INFO
  .成员 tmp, 整数型, , "3"
  .成员 CurrentDnsServer, IP_ADDR_STRING
  .成员 DnsServerList, IP_ADDR_STRING

取网卡信息网络连接名的代码

.版本 2
.程序集 窗口程序集1
.子程序 __启动窗口_创建完毕
取网卡信息 ()
.子程序 取网卡信息
.局部变量 size_link, 整数型
.局部变量 AdapterInfo, IP_ADAPTER_INFO
.局部变量 buf_link, 字节集
.局部变量 addr_link, 整数型
.局部变量 i, 整数型
.局部变量 mac, 文本型
.局部变量 tmp, 文本型
.局部变量 buf_ip, IP_ADDR_STRING
.局部变量 link, 网卡信息_
.局部变量 size_dns, 整数型
.局部变量 dns, IP_PER_ADAPTER_INFO
.局部变量 buf_dns, 字节集
.局部变量 addr_dns, 整数型
GetAdaptersInfo ({ 0 }, size_link)
buf_link = 取空白字节集 (size_link)
addr_link = 取变量地址_字节集 (buf_link, buf_link, 0)
.如果真 (GetAdaptersInfo (buf_link, size_link) = 0)
  .循环判断首 ()
    CopyMemory_iai (AdapterInfo, addr_link, 640)
    link.名称 = 到文本 (AdapterInfo.Description)
    mac = “”
    .计次循环首 (AdapterInfo.AddressLength - 1, i)
      tmp = 取十六进制文本 (AdapterInfo.Address [i])
      mac = mac + 选择 (tmp = “0”, “00”, tmp) + “-”
    .计次循环尾 ()
    mac = 取文本左边 (mac, 取文本长度 (mac) - 1)
    link.Mac = mac
    CopyMemory_ias (buf_ip, AdapterInfo.IpAddressList, 40)
    link.Ip = 到文本 (buf_ip.IpAddress)
    link.掩码 = 到文本 (buf_ip.IpMask)
    CopyMemory_ias (buf_ip, AdapterInfo.GatewayList, 40)
    link.网关 = 到文本 (buf_ip.IpAddress)
    link.连接名称 = 取文本注册项 (4, “SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\” + 到文本 (AdapterInfo.AdapterName) + “\Connection\Name”, )
    size_dns = GetPerAdapterInfo (AdapterInfo.Index, buf_dns, size_dns)
    buf_dns = 取空白字节集 (size_dns)
    addr_dns = 取变量地址_字节集 (buf_dns, buf_dns, 0)
    .如果 (GetPerAdapterInfo (AdapterInfo.Index, buf_dns, size_dns) = 0)
      CopyMemory_ipai (dns, addr_dns, 92)
      link.DNS1 = 到文本 (dns.CurrentDnsServer.IpAddress)
      link.DNS2 = 到文本 (dns.DnsServerList.IpAddress)
    .否则
      link.DNS1 = “”
      link.DNS2 = “”
    .如果结束
    网络连接名组合框.加入项目 (link.连接名称, )
    网络连接名组合框.现行选中项 = i
    输出调试文本 (link.连接名称)
    输出调试文本 (link.名称)
    输出调试文本 (link.Mac)
    输出调试文本 (link.Ip)
    输出调试文本 (link.掩码)
    输出调试文本 (link.网关)
    输出调试文本 (link.DNS1)
    输出调试文本 (link.DNS2)
    addr_link = AdapterInfo.Next
  .循环判断尾 (addr_link ≠ 0)
.如果真结束

运行结果:

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接

(0)

相关推荐

  • 易语言统计代码行数与API的工具

    DLL命令表 .版本 2 .DLL命令 FindWindowEx, 整数型, "user32", "FindWindowExA", , 在窗口列表中寻找与指定条件相符的第一个子窗口 找到的窗口的句柄.如未找到相符窗口,则返回零.会设置GetLastError .参数 hWnd1, 整数型, , 在其中查找子的父窗口.如设为零,表示使用桌面窗口(通常说的顶级窗口都被认为是桌面的子窗口,所以也会对它们进行查找) .参数 hWnd2, 整数型, , 从这个窗口后开始查找.

  • 易语言调用SetClipboardViewer的api实现剪贴版的内容监控

    DLL命令表 .版本 2 .DLL命令 加入剪贴板监视链_d, 整数型, "user32.dll", "SetClipboardViewer", 公开, 成功,返回值将标识剪贴板查看器链中的下一个窗口.如果出现错误或剪贴板查看器链中没有其他窗口,则返回值为空.( hwndNextViewer 将为 NULL.) .参数 窗口句柄, 整数型, , hwnd 加入剪切板监视链中窗口句柄 .DLL命令 设置窗口信息_d, 整数型, "user32",

  • 易语言调用百度api识别是否为色情图片的代码

    调用百度云色情图片识别的代码 此功能需要加载精易模块5.6 .版本 2 .支持库 spec .程序集 窗口程序集_启动窗口 .子程序 _识别按钮_被单击 百度云色情识别 () .子程序 百度云色情识别 .局部变量 类_XMLHTTP, 类_XMLHTTP .局部变量 Accesss_token, 文本型 .局部变量 str, 文本型 Accesss_token = GetAccesss_token () 类_XMLHTTP.打开 ("POST", "https://aip.b

  • 易语言调用API函数监视目录与文件的代码

    DLL命令表 .版本 2 .DLL命令 GetPrivateProfileInt, 整数型, , "GetPrivateProfileIntA" .参数 lpAppName, 文本型 .参数 lpKeyName, 文本型 .参数 nDefault, 整数型 .参数 lpFileName, 文本型 .DLL命令 GetPrivateProfileString, 整数型, , "GetPrivateProfileStringA" .参数 lpAppName, 文本型 .

  • 易语言调用api枚举网卡名称并且获取信息的代码

    DLL命令表 .版本 2 .DLL命令 GetProcAddress, 整数型, "kernel32", "GetProcAddress", , 返回函数地址 .参数 hModule, 整数型 .参数 lpProcName, 文本型 .DLL命令 GetModuleHandle, 整数型, "kernel32", "GetModuleHandleA", , 获取一个应用程序或动态链接库的模块句柄 如执行成功成功,则返回模块句柄

  • 易语言调用百度API获取IP归属地的代码

    常量据表 .版本 2 .常量 查ip地址, "<文本长度: 17>", , {"code":0,"data": 调用百度api获取ip归属地的代码 此功能需要加载精易模块5.6 .版本 2 .程序集 窗口程序集_启动窗口 .子程序 取IP归属地_百度API, 文本型, 公开 .参数 IP地址, 文本型 .局部变量 Json, 类_json .局部变量 返回数据, 文本型 .局部变量 地区, 文本型 CoInitialize (0) 返

  • 易语言API高级技巧教学

    首先声明,本文的读者该卖是:具有相当的易言语基础的.能较熟练地把常用的的API从VB/C声明转换到易言语DLL命令的易言语喜欢者. 1,使用指针 易言语中出于安定.方便考虑,没有直接提供指针,这正在进行一些高级 纵时不是很方便,固然有一些第三方支撑库可以取出变量指针(比如我的eLib++ 注:该支撑库系Delphi开发,本人已开放源代 ,你可以到易言语下载区瞧瞧)但是仅仅为了这个 纵就带上一个支撑库不太值得.实在用一个API,加上一些技术就可以欺骗Windows和易言语,让它们报告你一个变量的指

  • 易语言调用api实现文件拖放获取路径的代码

    拖放文件支持任意版本Windows系统 此功能需要加载精易模块5.6 .版本 2 .支持库 spec .程序集 窗口程序集_启动窗口 .程序集变量 文件拖放类, 文件拖放 .子程序 __启动窗口_创建完毕 .局部变量 拖放处理, 子程序指针 文件拖放类.注册拖放 (_启动窗口.取窗口句柄 (), &拖放处理) proc_FilterMsg () .子程序 拖放处理 .参数 总文件数量, 整数型 .参数 当前是第几个文件, 整数型 .参数 当前的文件名, 文本型 .参数 当前的文件类型, 文本型

  • 易语言调用api获取网卡信息网络连接名的代码

    DLL命令表 .版本 2 .DLL命令 GetAdaptersInfo, 整数型, "IPHlpApi" .参数 IpAdapterInfo, 字节集 .参数 pOutBufLen, 整数型, 传址 .DLL命令 取变量地址_字节集, 整数型, , "lstrcpynA" .参数 变量, 字节集, 传址 .参数 变量, 字节集, 传址 .参数 保留, 整数型, , 0 .DLL命令 CopyMemory_iai, , "kernel32", &q

  • 易语言调用微信PrScrn.dll文件进行截图的代码

    DLL命令表 .版本 2 .DLL命令 GetProcAddress, 整数型, "kernel32", "GetProcAddress", , 返回函数地址 .参数 hModule, 整数型 .参数 lpProcName, 文本型 .DLL命令 GetModuleHandle, 整数型, "kernel32", "GetModuleHandleA", , 获取一个应用程序或动态链接库的模块句柄 如执行成功成功,则返回模块句柄

  • 易语言调用dll实现条形码本地离线识别的代码

    DLL命令表 需要提前下载用到命令对应的库 .版本 2 .DLL命令 OCR, 文本型, "AspriseVB.dll", "OCR" .参数 file, 文本型 .参数 imageType, 整数型 .DLL命令 OCRBarCodes, 文本型, "VBWrapper.dll", "OCRBarCodes" .参数 file, 文本型 .参数 imageType, 整数型 .DLL命令 OCRpart, 文本型, &quo

  • 易语言调用易模块的方法

    易模块就是,易语言前辈把一些函数.常用的子程序. 编辑起来,方便新手学习! 1.打开易语言,里面,窗口程序.控制程序.动态连接库.易语言模块. 这里面可以用到模块的有[窗口程序.控制程序.动态连接库.]易语言模块是编写易模块的程序. 2.我们就以窗口程序程序进行操作,点击进入[双击]. 进入设计面板,点击[程序],在点击[模块引用],然后[添加模块] 1.使用方法 添加完毕模块!最好先更新下模快引用信息,让语言兼容! 添加完毕模块!最好先更新下模快引用信息,让语言兼容! 2.在打开易语言模块信息

  • C++ 编写DLL文件给易语言调用方法

    摸索了两天了,终于解决了所有问题,在此跟大家分享. 需要三个文件,dll_demo.h.dll_demo.cpp.dll_dome.def 直接上代码: 头文件如下: #ifndef _DLL_DEMO_H_ #define _DLL_DEMO_H_ #ifdef DLLDEMO_EXPORTS #define DLL_DEMO extern "C" __declspec(dllexport) #else #define DLL_DEMO extern "C" __

  • 易语言调用JS代码方法总结

    以下是我们易语言调用JS代码的步骤 步骤1: 步骤2: 步骤3: 步骤4: 以上就是四个详细步骤,感谢大家对我们的支持.

  • 详解易语言调用js实现md5加密方法

    易语言调用js需要用到拓展组件的脚本组件, 在窗口创建完毕的事件里给脚本组件初始化设置下脚本组件的语言属性,在这里以JScript为例: 脚本组件执行脚本的简单方法是:  脚本组件1.执行 ()  然后根据需要调用的脚本函数   脚本组件1.运行 () 首先看下脚本组件1.执行 () 的参数和返回值: 调用格式: 〈逻辑型〉 对象.执行 (文本型 脚本代码) - 脚本语言支持组件->脚本组件 英文名称:Execute 执行指定的代码文本.返回真为执行正常,返回假为出错,错误信息可以从"错误

随机推荐