易语言-练习小程序-取PE下的IP地址

发布时间:2026/10/7 16:26:41

易语言-练习小程序-取PE下的IP地址 在PE下读取原系统的IP地址:.版本 2 .程序集 窗口程序集_启动窗口 .子程序 _按钮_查询_被单击 .局部变量 盘, 文本型 .局部变量 临时文件, 文本型 .局部变量 加载成功, 逻辑型 .局部变量 尝试次数, 整数型 .局部变量 控制集编号, 文本型 .局部变量 查询结果, 文本型 .局部变量 查找到, 整数型 .局部变量 原始输出, 文本型 .局部变量 最终结果, 文本型 .局部变量 行数组, 文本型, , 0 .局部变量 单一行, 文本型 .局部变量 i, 整数型 .局部变量 接口标识, 文本型 .局部变量 当前_IP, 文本型 .局部变量 当前_DHCPIP, 文本型 .局部变量 当前_掩码, 文本型 .局部变量 当前_网关, 文本型 .局部变量 当前_DNS, 文本型 .局部变量 已输出接口, 文本型, , 0 .局部变量 是否已输出, 逻辑型 .局部变量 j, 整数型 .局部变量 取值位置, 整数型 .局部变量 开始位置, 整数型 .局部变量 真实值, 文本型 第一步输入验证与路径规范化 盘 编辑框_分区.内容 .如果真 (盘 “”) 信息框 (“请输入盘符如 C:”, 0, “提示”, ) 返回 () .如果真结束 盘 到大写 (取文本左边 (盘, 1)) “:” .如果真 (文件是否存在 (盘 “\Windows\System32\config\SYSTEM”) 假) 信息框 (“找不到系统文件” 盘 #换行符 #换行符 “请确认该分区存在已安装的 Windows 系统。”, 0, “错误”, ) 返回 () .如果真结束 临时文件 取运行目录 () “\ip.tmp” 第二步环境清理 删除文件 (临时文件) 运行 (“reg unload HKLM\OFFLINE_SYSTEM”, 假, ) 延时 (300) 第三步加载离线注册表 加载成功 假 .计次循环首 (3, 尝试次数) 删除文件 (临时文件) 运行 (“reg load HKLM\OFFLINE_SYSTEM ” 盘 “\Windows\System32\config\SYSTEM”, 假, ) 延时 (600) 运行 (“cmd /c reg query HKLM\OFFLINE_SYSTEM\Select ” 临时文件 “ 21”, 真, ) 延时 (300) .如果真 (文件是否存在 (临时文件)) 查询结果 到文本 (读入文件 (临时文件)) .如果真 (寻找文本 (查询结果, “错误”, , 假) -1 且 寻找文本 (查询结果, “ERROR”, , 假) -1) 加载成功 真 跳出循环 () .如果真结束 .如果真结束 运行 (“reg unload HKLM\OFFLINE_SYSTEM”, 假, ) 延时 (400) .计次循环尾 () .如果真 (加载成功 假) 删除文件 (临时文件) 信息框 (“注册表加载失败” #换行符 #换行符 “请右键→以管理员身份运行本程序。”, 0, “错误”, ) 返回 () .如果真结束 第四步动态确定 ControlSet 控制集编号 “ControlSet001” 删除文件 (临时文件) 运行 (“cmd /c reg query HKLM\OFFLINE_SYSTEM\Select /v Current ” 临时文件 “ 21”, 真, ) 延时 (300) .如果真 (文件是否存在 (临时文件)) 查询结果 到文本 (读入文件 (临时文件)) 查找到 寻找文本 (查询结果, “0x”, , 假) .如果真 (查找到 0) .如果真 (取文本中间 (查询结果, 查找到 2, 1) “2”) 控制集编号 “ControlSet002” .如果真结束 .如果真结束 .如果真结束 第五步查询 清理格式 去重 编辑框_结果.内容 “系统分区” 盘 #换行符 编辑框_结果.加入文本 (“活跃控制集” 控制集编号 #换行符 #换行符) 编辑框_结果.加入文本 (“---- IP 配置信息 ----” #换行符) 最终结果 “” .计次循环首 (2, 尝试次数) 删除文件 (临时文件) 运行 (“cmd /c reg query ” #引号 “HKLM\OFFLINE_SYSTEM\” 控制集编号 “\Services\Tcpip\Parameters\Interfaces” #引号 “ /s ” 临时文件 “ 21”, 真, ) 延时 (500) .如果真 (文件是否存在 (临时文件)) 原始输出 到文本 (读入文件 (临时文件)) .如果真 (取文本长度 (原始输出) 20 且 寻找文本 (原始输出, “错误”, , 假) -1 且 寻找文本 (原始输出, “ERROR”, , 假) -1) 最终结果 “” 接口标识 “” 当前_IP “” 当前_DHCPIP “” 当前_掩码 “” 当前_网关 “” 当前_DNS “” 清除数组 (已输出接口) 行数组 分割文本 (原始输出, #换行符, ) .计次循环首 (取数组成员数 (行数组), i) 单一行 删首尾空 (行数组 [i]) .如果真 (单一行 “”) 到循环尾 () .如果真结束 遇到新接口路径 → 先输出上一个重置变量 .如果真 (取文本左边 (单一行, 6) “HKLM_\” 或 寻找文本 (单一行, “Interfaces\”, , 假) ≠ -1) .如果真 (接口标识 ≠ “”) 是否已输出 假 .计次循环首 (取数组成员数 (已输出接口), j) .如果真 (已输出接口 [j] 接口标识) 是否已输出 真 跳出循环 () .如果真结束 .计次循环尾 () .如果真 (是否已输出 假) 加入成员 (已输出接口, 接口标识) 最终结果 最终结果 “接口” 接口标识 #换行符 .如果真 (当前_IP ≠ “”) 最终结果 最终结果 “ IP地址 ” 当前_IP #换行符 .如果真结束 .如果真 (当前_DHCPIP ≠ “”) 最终结果 最终结果 “ DHCP分配地址 ” 当前_DHCPIP #换行符 .如果真结束 .如果真 (当前_掩码 ≠ “”) 最终结果 最终结果 “ 子网掩码 ” 当前_掩码 #换行符 .如果真结束 .如果真 (当前_网关 ≠ “”) 最终结果 最终结果 “ 默认网关 ” 当前_网关 #换行符 .如果真结束 .如果真 (当前_DNS ≠ “”) 最终结果 最终结果 “ DNS服务器 ” 当前_DNS #换行符 .如果真结束 最终结果 最终结果 #换行符 .如果真结束 .如果真结束 接口标识 单一行 当前_IP “” 当前_DHCPIP “” 当前_掩码 “” 当前_网关 “” 当前_DNS “” 到循环尾 () .如果真结束 提取值跳过 REG_SZ / REG_MULTI_SZ 等类型标识 取值位置 寻找文本 (单一行, “REG_”, , 假) .如果真 (取值位置 ≠ -1) 找到类型段结束位置 → 跳过 REG_XXX 直接取真实值 开始位置 寻找文本 (单一行, “ ”, 取值位置, 假) .如果真 (开始位置 -1) 到循环尾 () .如果真结束 开始位置 开始位置 1 跳过连续空格 .判断循环首 (开始位置 ≤ 取文本长度 (单一行)) .如果真 (取文本中间 (单一行, 开始位置, 1) ≠ “ ”) 跳出循环 () .如果真结束 开始位置 开始位置 1 .判断循环尾 () 真实值 删首尾空 (取文本右边 (单一行, 取文本长度 (单一行) 开始位置 1)) 赋值只保留第一个有效值 .如果真 (寻找文本 (单一行, “IPAddress”, , 假) ≠ -1 且 当前_IP “”) 当前_IP 真实值 .如果真结束 .如果真 (寻找文本 (单一行, “DhcpIPAddress”, , 假) ≠ -1 且 当前_DHCPIP “”) 当前_DHCPIP 真实值 .如果真结束 .如果真 (寻找文本 (单一行, “SubnetMask”, , 假) ≠ -1 且 当前_掩码 “”) 当前_掩码 真实值 .如果真结束 .如果真 (寻找文本 (单一行, “DefaultGateway”, , 假) ≠ -1 且 当前_网关 “”) 当前_网关 真实值 .如果真结束 .如果真 (寻找文本 (单一行, “NameServer”, , 假) ≠ -1 且 当前_DNS “”) 当前_DNS 真实值 .如果真结束 .如果真结束 .计次循环尾 () 输出最后一个接口 .如果真 (接口标识 ≠ “”) 是否已输出 假 .计次循环首 (取数组成员数 (已输出接口), j) .如果真 (已输出接口 [j] 接口标识) 是否已输出 真 跳出循环 () .如果真结束 .计次循环尾 () .如果真 (是否已输出 假) 加入成员 (已输出接口, 接口标识) 最终结果 最终结果 “接口” 接口标识 #换行符 .如果真 (当前_IP ≠ “”) 最终结果 最终结果 “ IP V4 地址 ” 当前_IP #换行符 .如果真结束 .如果真 (当前_DHCPIP ≠ “”) 最终结果 最终结果 “ DHCP分配地址 ” 当前_DHCPIP #换行符 .如果真结束 .如果真 (当前_掩码 ≠ “”) 最终结果 最终结果 “ 子网掩码 ” 当前_掩码 #换行符 .如果真结束 .如果真 (当前_网关 ≠ “”) 最终结果 最终结果 “ 默认网关 ” 当前_网关 #换行符 .如果真结束 .如果真 (当前_DNS ≠ “”) 最终结果 最终结果 “ DNS服务器 ” 当前_DNS #换行符 .如果真结束 .如果真结束 .如果真结束 .如果真 (取文本长度 (最终结果) 10) 跳出循环 () .如果真结束 .如果真结束 .如果真结束 .计次循环尾 () 第六步清理与显示 运行 (“reg unload HKLM\OFFLINE_SYSTEM”, 假, ) 延时 (200) 删除文件 (临时文件) .如果真 (取文本长度 (最终结果) 10) 编辑框_结果.加入文本 (最终结果) 编辑框_结果.加入文本 (“查询完成。”) .如果真结束 .如果真 (取文本长度 (最终结果) ≤ 10) 编辑框_结果.加入文本 (“未查到有效 IP 配置。” #换行符 #换行符) 编辑框_结果.加入文本 (“可能原因” #换行符) 编辑框_结果.加入文本 (“ 1. 目标系统未配置静态 IP” #换行符) 编辑框_结果.加入文本 (“ 2. DHCP 历史记录为空” #换行符) 编辑框_结果.加入文本 (“ 3. 注册表路径异常” #换行符) 编辑框_结果.加入文本 (“ 4. 权限不足请以管理员身份运行”) .如果真结束
延伸阅读

更多相关文章

2026/10/7 16:26:41

智能停车场收费系统:Python+Django后端实战解析

简介:一套基于Python与Django框架的智能停车场收费管理系统,面向计算机相关专业毕业设计及Web系统开发者,提供集成车牌识别与数据库管理的完整实现方案。方案覆盖车辆进出记录、费用计算、数据统计分析和自动化车牌识别等核心业务流程&#x…

2026/10/7 16:26:41

旋变传感器选型与调试实战:从原理到零位标定的全面指南

做电机控制的这些年,旋变传感器这玩意儿我前前后后折腾了不少型号。第一次接触它的时候,我也跟很多刚入门的朋友一样,脑子里全是问号——明明编码器又便宜又普及,为什么在一些场合大家还是要用旋变?直到我在一个高温高…

2026/10/7 17:21:45

工业软件标准化路线图:三层框架与选型合规实战指南

简介:《工业软件标准化路线图》由中国电子技术标准化研究院与全国信标委工业软件/APP标准工作组联合编写,面向工业软件从业者、标准化研究人员及制造业数字化转型相关人员,系统回答工业软件“是什么、为什么重要、标准有哪些、如何用、下一步…

2026/10/7 17:21:45

CiA-402控制字详解:六种运动模式实战与调试避坑指南

1. 为什么 CiA-402 的控制字值得单独拎出来讲 做伺服和运动控制的朋友,绕不开 CiA-402 这个协议子集。它本质上是一套跑在 CANopen 之上的设备行规,把伺服驱动器的状态、参数、运动模式全部标准化了。你只要按这套规则发控制字,不同品牌的驱动…

2026/10/7 17:21:45

Agent-Reach实战:让AI Agent真正触达文件、网页与API的完整指南

很多做AI应用的朋友应该都有类似体验:跑通一个Demo Agent很容易,但要让它真正替你干活,却像隔着一层玻璃——模型明明会说话,但够不着你的文件、网页、数据库和外部API。基于Rust的AI Agent、Agent框架与编排、Agent Skill、Agent…

2026/10/7 17:21:45

深度学习模型如何真正适配GPU/FPGA/ASIC硬件?

1. 项目概述:当深度学习模型撞上物理芯片,算法不再“纸上谈兵”你有没有试过把一个在PyTorch里跑得飞快的ResNet-50模型,直接部署到一块FPGA开发板上,结果发现推理延迟从20ms飙到350ms,功耗翻了三倍,最后连…

2026/10/7 17:21:45

多智能体协作的语义路由与上下文编排:统一通道设计与工程落地

我们团队半年前启动了一个叫 Agent-Reach 的内部项目。起因挺简单的:大模型落地到业务之后,第一批智能体跑得挺好,但第二批、第三批接进来就乱了。Agent 之间互相不知道各自提供什么能力、不知道消息该往哪里投递、也不知道一个任务经过多个 …

2026/10/5 6:32:56

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/7 8:18:33

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/6 17:46:51

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:05:03

ESP32免重刷固件:浏览器直接修改NVS键值实现WiFi配置更新

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:05:03

SAP HANA查询结果导出CSV:避开乱码、性能与权限的实用指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 1:05:03

数字后端Placement阶段Density与Congestion控制实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑