Windows脚本自动化:VBS与BAT实现随机弹窗的原理与实践
1. 项目概述当脚本“恶作剧”遇上系统自动化如果你在Windows环境下混过一段时间或者对那个黑漆漆的命令提示符窗口有过一丝好奇那么你对.bat批处理文件和.vbs脚本文件肯定不会陌生。前者是DOS命令的集合体简单直接后者则是一种功能更丰富的Windows脚本宿主语言。今天要聊的这个“恶搞”项目就是把这两者结合起来实现一个在屏幕上随机位置、无限循环弹出窗口的“小把戏”。这听起来像是一个纯粹的恶作剧脚本也确实如此——它能让目标电脑的桌面瞬间被无数个弹窗淹没鼠标难以点击给人一种系统崩溃的错觉常被用于朋友间无伤大雅的玩笑。但千万别小看它这个简单的组合背后触及了Windows脚本自动化、窗口控制、随机数生成以及进程调用等多个基础且核心的技术点。对于想学习Windows脚本编程的新手来说这是一个绝佳的、充满趣味性的入门案例。你能从中理解如何让脚本“活”起来如何与操作系统交互以及如何构建一个简单的、自运行的逻辑循环。从技术角度看它不涉及任何恶意破坏或系统入侵所有操作都在Windows脚本宿主提供的安全沙箱内进行。它的“破坏性”仅限于视觉干扰关闭所有弹窗或重启资源管理器即可恢复。因此在征得对方同意的前提下进行“测试”可以是一次有趣的体验。下面我们就来彻底拆解这个“恶作剧”的构成并深入探讨其实现原理、代码细节以及更重要的——如何安全地控制与终止它。2. 核心原理与组件拆解要实现“随机位置无限弹窗”我们需要两个脚本各司其职协同工作。通常.bat文件作为启动器和控制器而.vbs文件则负责执行具体的弹窗动作。这种分工基于它们各自的特点。2.1 BAT批处理文件指挥与循环引擎批处理文件.bat的本质是一系列按顺序执行的DOS命令。在这个项目中它的核心任务有两个启动VBS脚本使用start命令调用系统程序wscript.exe来运行.vbs文件。构建无限循环利用goto标签和%random%系统变量实现一个永不停止的循环并每次传递一个随机数给VBS脚本。%random%是CMD环境下的一个动态变量每次被引用时都会生成一个0到32767之间的随机整数。这是我们实现“随机位置”的关键数据来源之一。批处理通过goto语句跳转形成一个闭环只要不强制中断CtrlC或遇到退出命令这个循环就会一直运行下去不断启动新的VBS脚本进程。注意直接在一个批处理文件中用goto循环反复start一个外部脚本会快速产生大量wscript.exe进程。虽然每个VBS弹窗结束后进程会退出但在极短时间内大量创建进程仍可能造成系统资源尤其是CPU的短暂飙升。在玩笑之外这也是一个观察系统进程管理的简单案例。2.2 VBScript脚本窗口创建与定位器VBScript.vbs是一种比批处理更强大的脚本语言可以通过Windows脚本宿主wscript.exe或cscript.exe执行。在这里它承担了最直观的任务创建弹窗并控制其位置。其核心是使用WScript.Shell对象的Popup方法。这个方法能创建一个简单的消息框。但默认的Popup窗口位置是居中的要实现随机位置我们需要借助另一个强大的对象User32.dll中的Windows API函数。不过在纯VBS中直接调用API比较复杂。一个更常见的简化思路是利用VBS生成一个临时的、包含JavaScript的HTML文件HTA然后通过WScript.Shell运行它由JavaScript来调用系统API移动窗口。另一种更“原生”但略显繁琐的方法是使用WScript.Shell的Run方法启动多个msgbox命令但控制位置同样困难。因此结合HTML ApplicationHTA是功能与复杂度之间较好的平衡。VBS脚本负责接收批处理传来的随机数作为坐标种子动态生成HTA内容然后启动它。2.3 随机位置算法与坐标换算“随机位置”意味着弹窗的左上角坐标X, Y在屏幕范围内随机分布。我们需要解决两个问题获取屏幕分辨率这是坐标的边界。我们可以通过VBS调用WMIWindows Management Instrumentation来获取ScreenWidth和ScreenHeight。生成随机坐标利用批处理传来的%random%或VBS内建的Rnd函数生成随机数然后将其映射到屏幕宽度和高度的有效范围内。例如X RandomNumber % ScreenWidthY RandomNumber % ScreenHeight这里需要确保坐标值减去窗口自身的宽度和高度后窗口仍完全在屏幕内但这对于恶作剧弹窗通常不是必须的。3. 代码实现与分步解析下面我们将构建一个经典的双脚本组合实现。这里采用一种更直接、兼容性更好的思路主要逻辑集中在VBS中BAT仅负责无限次启动这个VBS。VBS脚本自身集成随机坐标计算和弹窗创建。3.1 构建核心VBS脚本popup.vbs这个VBS脚本将完成所有繁重的工作获取屏幕尺寸、计算随机位置、创建并定位弹窗。‘ popup.vbs - 无限弹窗核心脚本 Option Explicit Dim objShell, objFSO, tempFile, htaContent, screenX, screenY, posX, posY Dim wmiService, items, item ‘ 创建必要对象 Set objShell CreateObject(“WScript.Shell”) Set objFSO CreateObject(“Scripting.FileSystemObject”) ‘ 方法1通过WMI获取屏幕分辨率更准确 On Error Resume Next ‘ 防止WMI不可用导致脚本停止 Set wmiService GetObject(“winmgmts:\\.\root\cimv2”) Set items wmiService.ExecQuery(“SELECT CurrentHorizontalResolution, CurrentVerticalResolution FROM Win32_VideoController”) For Each item In items screenX item.CurrentHorizontalResolution screenY item.CurrentVerticalResolution If screenX 0 And screenY 0 Then Exit For Next If Err.Number 0 Or screenX 0 Then ‘ 方法2如果WMI失败使用保守的默认值如1024x768 screenX 1024 screenY 768 Err.Clear End If On Error GoTo 0 ‘ 生成随机坐标使用VBS的Rnd函数用Timer初始化种子 Randomize Timer posX Int((screenX - 300) * Rnd()) ‘ 假设弹窗宽度约300确保窗口在屏幕内 posY Int((screenY - 150) * Rnd()) ‘ 假设弹窗高度约150 ‘ 创建HTA内容使用JavaScript的moveTo方法定位窗口 htaContent “htmlheadtitleAlert/title” _ “hta:application id’oApp’ applicationname’Popup’ border’thin’ caption’no’ showintaskbar’no’ /” _ “script language’VBScript’” _ “Sub Window_OnLoad” _ “ window.resizeTo 300, 150” _ “ window.moveTo “ posX “, “ posY _ “ alert(‘这是一个弹窗\n坐标[“ posX “, “ posY “]‘);” _ “ window.close()” _ “End Sub” _ “/script/headbody/body/html” ‘ 将内容写入临时文件 tempFile objFSO.GetSpecialFolder(2) “\temp_popup.hta” ‘ 临时目录 Call objFSO.CreateTextFile(tempFile, True).Write(htaContent) ‘ 运行HTA文件窗口弹出 objShell.Run “mshta.exe “”” tempFile “”””, 0, False ‘ 最后一个参数为False不等待结束 ‘ 短暂延迟避免过快连续启动导致系统卡顿 WScript.Sleep(50) ‘ 清理临时文件可选立即删除可能因文件被占用而失败这里尝试删除 On Error Resume Next objFSO.DeleteFile(tempFile) On Error GoTo 0 Set objFSO Nothing Set objShell Nothing代码解析与注意事项WMI获取分辨率这是最可靠的方法但某些精简版系统可能没有WMI服务。因此代码中添加了错误处理和备用方案。Randomize Timer用当前时间初始化随机数生成器种子确保每次运行的随机序列不同。HTA技术HTML Application允许我们使用HTML和脚本创建桌面应用。这里用VBScript写HTA的脚本部分利用window.moveTo实现精确定位。alert()用于创建弹窗内容。objShell.Run参数第二个参数0表示以“隐藏”方式运行mshta但实际上HTA窗口仍会显示。最后一个参数False表示不等待程序结束这样VBS脚本可以快速退出不会阻塞批处理的循环。延迟与清理WScript.Sleep(50)增加了50毫秒延迟略微降低弹窗生成频率让系统稍有喘息。删除临时文件是良好的习惯但非必须。3.2 构建无限循环BAT脚本launcher.bat批处理文件非常简单就是一个无限循环不断启动上面的VBS脚本。echo off chcp 65001 nul title 弹窗启动器 color 0a echo 正在启动随机位置无限弹窗恶作剧... echo 警告这将产生大量弹窗按 CtrlC 可强行终止。 echo. :loop start /b wscript.exe //B “%~dp0popup.vbs” nul 21 rem 使用 /b 参数在后台启动不创建新窗口。//B 参数让wscript不显示错误对话框。 rem “%~dp0” 表示批处理文件所在的目录确保能找到popup.vbs。 rem 可以添加一个极短的延时控制弹窗生成速率单位毫秒10001秒 rem ping -n 1 -w 10 127.0.0.1 nul goto loop代码解析与注意事项echo off关闭命令回显让界面更干净。chcp 65001将控制台代码页设置为UTF-8防止中文乱码如果脚本路径或提示信息含中文。start /b/b参数表示在不创建新窗口的情况下启动程序。这对于启动大量后台进程很重要否则你的任务栏会被无数个命令提示符窗口占满。wscript.exe //B//B是wscript.exe的参数表示以批处理模式运行不显示脚本错误和调试信息对话框。这能防止因个别错误导致弹窗序列中断。nul 21将命令的所有输出标准输出和标准错误重定向到空设备实现静默运行。速率控制被注释掉的ping命令可以用来增加循环间隔。-w 10表示等待10毫秒。取消注释并调整-w后的值可以控制弹窗弹出速度。值越大弹窗越慢。强烈建议在测试时启用一个较大的延迟如-w 500以便观察和控制。4. 安全执行、控制与终止方案恶作剧的核心是可控。如果脚本失去控制对任何计算机来说都是灾难。因此我们必须事先规划好如何启动、如何暂停以及如何彻底清理。4.1 安全启动前的准备保存工作确保目标计算机上所有重要文档都已保存。告知对方这是最重要的道德准则。务必让操作对象知情并同意。关闭关键应用暂时关闭正在运行的办公软件、设计软件等防止未保存的数据因弹窗干扰而丢失。创建快捷终止方式在运行脚本前先准备好终止方案见下文。4.2 如何有效终止弹窗风暴当弹窗开始无限弹出时直接点击关闭是徒劳的因为新的弹窗会源源不断。你需要从根源上停止脚本进程。方案一使用任务管理器最直接按下Ctrl Shift Esc直接打开任务管理器。在“进程”或“详细信息”选项卡中找到以下进程并结束它们cmd.exe或conhost.exe对应你的launcher.bat。多个wscript.exe进程。可能存在的mshta.exe进程运行HTA的。技巧可以按“CPU”或“命令行”排序更容易找到相关进程。结束cmd.exe进程会终止批处理循环但已经启动的wscript和mshta进程可能还会继续运行直到弹窗关闭需要一并结束。方案二预先准备一个“终止脚本”这是一个更优雅和专业的方法。在运行launcher.bat之前先创建一个kill_popup.bat文件放在桌面。echo off taskkill /f /im wscript.exe nul 21 taskkill /f /im mshta.exe nul 21 taskkill /f /im cmd.exe nul 21 echo 所有弹窗进程已终止。 pause当需要终止时直接双击这个kill_popup.bat即可。/f参数表示强制结束进程。方案三重启资源管理器如果弹窗多到完全无法操作任务管理器可以尝试按Ctrl Shift Esc打开任务管理器如果还能打开。点击“文件” - “运行新任务”。输入cmd并勾选“以系统管理权限创建此任务”确定。在打开的管理员CMD中输入taskkill /f /im explorer.exe start explorer.exe这会重启桌面外壳所有用户态的弹窗通常会被清理。然后再用taskkill结束剩余的脚本进程。4.3 进阶控制让恶作剧“有限”且“有趣”纯粹的无限循环可能过于粗暴。我们可以修改脚本增加一些趣味性和可控性。修改VBS实现有限次数或随机内容弹窗‘ 在popup.vbs开头定义弹窗次数或内容数组 Dim maxPopups, currentCount maxPopups 20 ‘ 只弹20次 currentCount 0 ‘ 从文件中读取当前计数模拟持久化这里简化处理实际可从注册表或文件读取 ‘ 每次弹窗后 currentCount currentCount 1 ‘ 如果 currentCount maxPopups则 WScript.Quit Dim messageArray(4) messageArray(0) “惊喜” messageArray(1) “你发现了彩蛋” messageArray(2) “系统正在思考人生...” messageArray(3) “点击确定以继续并不会” messageArray(4) “这是一个随机消息” Randomize Timer Dim randomIndex randomIndex Int((5) * Rnd()) ‘ 0到4的随机索引 MsgBox messageArray(randomIndex), 0, “趣味弹窗”修改BAT增加延迟和倒计时echo off set total50 set delay200 echo 将在 %delay% 毫秒间隔下弹出 %total% 个窗口... for /l %%i in (1,1,%total%) do ( start /b wscript.exe //B “popup.vbs” ping -n 1 -w %delay% 127.0.0.1 nul ) echo 弹窗表演结束 pause这样恶作剧就变成了一个可控的、有明确结束时间的“表演”体验会好很多。5. 常见问题、排查与深度思考在实际编写和运行这类脚本时你可能会遇到一些典型问题。5.1 脚本不运行或闪退文件关联错误确保.vbs文件默认用wscript.exe打开.bat文件用cmd.exe执行。可以在命令行手动输入wscript.exe popup.vbs测试。安全软件拦截杀毒软件或Windows Defender可能会将此类脚本行为标记为可疑并阻止。你需要临时禁用实时保护或将脚本目录添加到排除项。这恰恰说明了此类脚本的敏感性切勿用于恶意目的。编码问题如果脚本中包含中文请确保文件以ANSI或UTF-8 with BOM编码保存。使用记事本“另存为”时可以选择编码。路径问题BAT和VBS文件最好放在同一目录且目录路径不要有特殊字符或空格。使用“%~dp0popup.vbs”可以很好地解决路径问题。5.2 弹窗位置不随机或超出屏幕随机数种子确保在VBS中使用了Randomize Timer否则Rnd()函数每次都会生成相同的序列。屏幕分辨率获取失败检查WMI服务是否运行服务名Winmgmt。如果失败脚本会使用默认的1024x768在高分辨率屏幕上可能导致坐标计算偏差。可以尝试在VBS中加入一个MsgBox “分辨率: “ screenX “x” screenY来调试。坐标计算代码中(screenX - 300)和(screenY - 150)是为了确保窗口右边界和下边界不超出屏幕。如果你调整了HTA中resizeTo的尺寸这里也需要同步调整。5.3 系统变得卡顿无响应这是最可能发生的情况原因和解决方案如下进程洪水BAT循环太快瞬间启动数百个wscript进程。务必在BAT循环中加入延迟ping -n 1 -w XX建议从2000.2秒开始测试。HTA开销每个HTA都是一个轻量级应用实例创建和销毁仍有开销。如果卡顿严重可以考虑简化弹窗方式例如直接用VBS的MsgBox但这样就无法精确定位了。这是一个功能与性能的权衡。资源耗尽如果脚本在配置较低的电脑上运行过多的图形界面会消耗大量GDI资源。观察任务管理器的“性能”选项卡如果GDI对象或用户对象数量激增就需要减少并发或简化窗口。5.4 从“恶搞”到“实用”的思维延伸理解了这个恶作剧的机制我们可以将其原理应用到一些合法、有趣的场景中自动化测试模拟用户随机点击或弹出警告框测试软件的健壮性和UI响应。信息轮播编写一个脚本在屏幕不同位置定时显示不同的重要信息如服务器状态、监控指标作为一种简单的桌面通知系统。互动艺术结合更复杂的图形比如用HTA画Canvas动画制作一个动态的桌面艺术装置。注意力提醒对于需要长时间专注的工作可以设置一个每隔一段时间就在随机位置弹出休息提醒的脚本比固定位置的提醒更有效。这个项目就像一把螺丝刀本身无害但看你怎么用它。通过拆解它你不仅学会了VBS和BAT的交互、Windows脚本宿主的使用、随机数处理和简单的窗口编程更重要的是你建立了一种“自动化思维”——如何用简单的脚本工具让计算机按你设定的、甚至带点随机性的逻辑去工作。这种思维是走向更高级自动化运维、桌面程序开发乃至安全测试的第一步。记住能力越大责任越大始终在道德和法律的框架内使用你的技术。

相关新闻

基于AutoResearch思想构建软件开发AI Agent:从信息检索到智能决策

基于AutoResearch思想构建软件开发AI Agent:从信息检索到智能决策

1. 项目概述:当AutoResearch遇上软件开发最近在GitHub上看到Karpathy的AutoResearch项目,作为一个在软件开发领域摸爬滚打了十多年的老码农,我第一反应是:这套让LLM自动进行文献检索、总结和知识整合的“AI研究助理”思路&#xf…

2026/8/8 1:58:24 阅读更多 →
DeepSeek V4 API成本优化实战:模型选择、峰谷调度与缓存设计

DeepSeek V4 API成本优化实战:模型选择、峰谷调度与缓存设计

1. 项目概述:当DeepSeek V4遇上峰谷计费DeepSeek V4正式版的发布,在开发者圈子里激起的波澜,远不止是技术能力的又一次跃升。大家讨论的焦点,除了它那令人印象深刻的128K上下文和代码生成能力,更多集中在了那个新引入的…

2026/8/8 1:58:24 阅读更多 →
MySQL 存储过程全面指南

MySQL 存储过程全面指南

摘要:本文系统介绍 MySQL 存储过程的语法、数据类型、运算符、流程控制、参数传递和内置函数库,帮助开发者掌握存储过程的完整知识体系。一、存储过程概述存储过程如同一门程序设计语言,同样包含了数据类型、流程控制、输入和输出以及它自己的…

2026/8/8 1:57:23 阅读更多 →

最新新闻

StreamDAM:实时视频目标分割中的智能记忆管理机制解析与实践

StreamDAM:实时视频目标分割中的智能记忆管理机制解析与实践

1. 先搞清楚 StreamDAM 到底解决了视频分割里的什么核心问题 如果你做过视频目标分割,尤其是需要实时处理的那种,最头疼的往往不是模型精度,而是 如何在连续的视频流里,既记住目标,又不被拖慢速度 。传统方法要么是离…

2026/8/8 2:42:54 阅读更多 →
如何免费下载Steam创意工坊模组:跨平台WorkshopDL终极教程

如何免费下载Steam创意工坊模组:跨平台WorkshopDL终极教程

如何免费下载Steam创意工坊模组:跨平台WorkshopDL终极教程 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 还在为GOG或Epic平台上的游戏无法使用Steam创意工坊模组而…

2026/8/8 2:42:54 阅读更多 →
AI对话记忆系统设计:从滑动窗口到向量检索的上下文管理实践

AI对话记忆系统设计:从滑动窗口到向量检索的上下文管理实践

1. 项目概述:当历史对话成为提示词在AI应用开发的实际项目中,我们常常会遇到一个看似简单却影响深远的场景:如何让模型“记住”之前的对话?无论是构建一个智能客服助手,还是一个能进行多轮深入探讨的聊天伴侣&#xff…

2026/8/8 2:42:54 阅读更多 →
Python之禅:从编程哲学到工程实践,打造Pythonic代码的19条准则

Python之禅:从编程哲学到工程实践,打造Pythonic代码的19条准则

1. 从一行代码到一种哲学:为什么《Python之禅》值得每个开发者细品如果你在Python的交互式环境中输入import this,屏幕上会缓缓打印出19条格言。这就是著名的《Python之禅》。对于很多初学者来说,这可能只是一个有趣的彩蛋,或者一…

2026/8/8 2:42:54 阅读更多 →
SpringBoot内置Tomcat启动原理深度解析与实战指南

SpringBoot内置Tomcat启动原理深度解析与实战指南

1. 从“一键启动”到“庖丁解牛”:为什么我们要拆解内置Tomcat的启动“SpringBoot项目,直接运行main方法就能启动一个Web服务,真方便!”——这大概是每个SpringBoot开发者最直观的感受。这种“开箱即用”的便利性,很大…

2026/8/8 2:42:54 阅读更多 →
科研生产力分布:洛特卡与普赖斯定律的量化解读与应用

科研生产力分布:洛特卡与普赖斯定律的量化解读与应用

1. 从“数人头”到“看贡献”:科研世界里的幂律法则如果你在学术圈待过,或者哪怕只是写过几篇课程论文,大概都听过“二八定律”——20%的人干了80%的活儿。这个现象在科学研究领域,被量化得更为精确和震撼,这就是洛特卡…

2026/8/8 2:41:54 阅读更多 →

日新闻

AI多智能体时代来临,读懂MCP与A2A架构,抢占企业数字化新风口

AI多智能体时代来临,读懂MCP与A2A架构,抢占企业数字化新风口

当下AI应用飞速普及,无数企业下场搭建智能体系统,可落地阶段难题接踵而至:上下文无限堆积频繁爆栈、AI工具调用准确率低下、Token成本居高不下、企业数据权限混乱暗藏安全隐患……很多团队卡在架构搭建环节,空有前沿技术概念&…

2026/8/8 0:00:07 阅读更多 →
PHP二维码生成终极指南:用chillerlan/php-qrcode打造专业级二维码

PHP二维码生成终极指南:用chillerlan/php-qrcode打造专业级二维码

PHP二维码生成终极指南:用chillerlan/php-qrcode打造专业级二维码 【免费下载链接】php-qrcode A PHP QR Code generator and reader with a user-friendly API. 项目地址: https://gitcode.com/gh_mirrors/ph/php-qrcode 在当今数字时代,二维码已…

2026/8/8 0:00:08 阅读更多 →
UniApp微信小程序隐私保护组件开发:从原理到实战

UniApp微信小程序隐私保护组件开发:从原理到实战

1. 项目缘起:为什么我们需要一个隐私保护通用组件?最近在维护一个基于uniapp开发的微信小程序矩阵时,我遇到了一个非常棘手的问题。随着平台对用户隐私保护的要求越来越严格,几乎每一个新版本发布,或者在某些特定机型&…

2026/8/8 0:00:08 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/6 22:02:27 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/6 22:02:27 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/7 23:24:08 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/7 17:02:37 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/7 23:54:54 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/7 17:02:36 阅读更多 →