<?xml version="1.0" encoding="utf-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><title>YLong软件</title><link>https://www.ylongsoft.com/</link><description>网址打包APP, 全景KRPano可是化编辑器, IOS重签名加密工具</description><item><title>HTML打包EXE使用附件功能调用外部程序扩展你的EXE - 附实战演练实现录频功能</title><link>https://www.ylongsoft.com/post//html2exe-extra-files-guide.html</link><description>&lt;p&gt;HTML打包EXE工具支持&lt;strong&gt;附件文件&lt;/strong&gt;功能，可以将额外的文件或文件夹与HTML项目一起打包进EXE。打包后的附件会和EXE放在同一目录下，运行时可以直接访问。配合 &lt;code&gt;HTMLPackHelper.open()&lt;/code&gt; API，可以实现从HTML页面中启动外部程序的功能。&lt;/p&gt;
&lt;p&gt;本文通过一个实际案例——&lt;strong&gt;将开源截图录屏工具 ScreenToGif 打包进EXE，点击按钮即可启动&lt;/strong&gt;，来完整演示附件文件功能的使用方法。&lt;/p&gt;
&lt;h2&gt;下载最新版本&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://api.leapever.com/packerv2/download&quot;&gt;立即下载最新版本&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://leapever.com/intro/html2exe/&quot;&gt;HTML打包EXE工具官网&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;!-- truncate --&gt;
&lt;h2&gt;功能入口&lt;/h2&gt;
&lt;p&gt;在打包工具&lt;strong&gt;快速打包&lt;/strong&gt;标签页中，可以找到&lt;strong&gt;附件文件&lt;/strong&gt;配置项：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://www.ylongsoft.com/zb_users/upload/2026/04/1777461065331_272ef32f.png&quot; alt=&quot;附件文件配置入口&quot;&gt;&lt;/p&gt;
&lt;p&gt;点击&lt;strong&gt;配置附件&lt;/strong&gt;按钮，会弹出附件管理对话框。&lt;/p&gt;
&lt;h2&gt;附件管理对话框&lt;/h2&gt;
&lt;p&gt;在对话框中可以进行以下操作：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;添加文件&lt;/strong&gt;：选择一个或多个文件作为附件&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;添加文件夹&lt;/strong&gt;：选择整个文件夹作为附件（文件夹内所有内容都会被打包）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;移除&lt;/strong&gt;：删除不需要的附件项&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;清空&lt;/strong&gt;：一键清除所有附件&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;https://www.ylongsoft.com/zb_users/upload/2026/04/1777461065893_c37b0815.png&quot; alt=&quot;附件管理对话框&quot;&gt;&lt;/p&gt;
&lt;p&gt;对话框中会显示每个附件的类型标记：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;🔵 &lt;strong&gt;文件&lt;/strong&gt;：单个文件&lt;/li&gt;
&lt;li&gt;🟠 &lt;strong&gt;文件夹&lt;/strong&gt;：整个目录&lt;/li&gt;
&lt;li&gt;🔴 &lt;strong&gt;不存在&lt;/strong&gt;：文件路径无效（打包时会跳过）&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;附件文件的存放位置&lt;/h2&gt;
&lt;p&gt;打包后，附件文件会被放到与EXE同级的目录下。例如：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;MyApp/
├── MyApp.exe
├── ScreenToGif.exe      ← 附件文件
├── tools/               ← 附件文件夹
│   ├── tool1.exe
│   └── tool2.bat
└── ...（其他打包生成的文件）
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;如果选择的是&lt;strong&gt;安装版EXE&lt;/strong&gt;，附件文件会被包含在安装包中，安装后同样位于应用安装目录下。
如果选择的是&lt;strong&gt;绿色版EXE&lt;/strong&gt;, 附件文件会被嵌入到EXE里面, 可以使用相对于EXE的路径去获取.&lt;/p&gt;
&lt;h2&gt;实战演示：集成 ScreenToGif 截图录屏工具&lt;/h2&gt;
&lt;h3&gt;关于 ScreenToGif&lt;/h3&gt;
&lt;p&gt;ScreenToGif是一款开源免费的屏幕录制工具（MIT 协议），支持：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;屏幕录制并导出为 GIF/视频&lt;/li&gt;
&lt;li&gt;区域截图&lt;/li&gt;
&lt;li&gt;内置编辑器，可添加文字、边框等&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;它是一个&lt;strong&gt;单文件便携版EXE&lt;/strong&gt;（约几MB），非常适合作为附件打包。&lt;/p&gt;
&lt;h3&gt;第一步：准备HTML文件&lt;/h3&gt;
&lt;p&gt;创建一个 &lt;code&gt;index.html&lt;/code&gt; 文件，包含一个启动 ScreenToGif 的按钮：&lt;/p&gt;
&lt;pre class=&quot;prism-highlight prism-language-html&quot;&gt;&lt;code class=&quot;language-html&quot;&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&amp;quot;zh-CN&amp;quot;&amp;gt;
    &amp;lt;head&amp;gt;
        &amp;lt;meta charset=&amp;quot;UTF-8&amp;quot; /&amp;gt;
        &amp;lt;title&amp;gt;我的工具箱&amp;lt;/title&amp;gt;
        &amp;lt;style&amp;gt;
            * {
                margin: 0;
                padding: 0;
                box-sizing: border-box;
            }
            body {
                font-family: 'Microsoft YaHei', 'Segoe UI', sans-serif;
                background: #f0f2f5;
                min-height: 100vh;
                padding: 40px 20px;
            }
            .header {
                text-align: center;
                margin-bottom: 30px;
            }
            .header h1 {
                font-size: 22px;
                color: #333;
                font-weight: 600;
            }
            .header p {
                color: #999;
                font-size: 13px;
                margin-top: 6px;
            }
            .tool-list {
                max-width: 480px;
                margin: 0 auto;
            }
            .tool-item {
                background: #fff;
                border: 1px solid #e8e8e8;
                border-radius: 8px;
                padding: 16px 20px;
                margin-bottom: 12px;
                display: flex;
                align-items: center;
                justify-content: space-between;
            }
            .tool-info {
                display: flex;
                align-items: center;
                gap: 12px;
            }
            .tool-icon {
                width: 40px;
                height: 40px;
                background: #e6f7ff;
                border-radius: 8px;
                display: flex;
                align-items: center;
                justify-content: center;
                font-size: 20px;
                flex-shrink: 0;
            }
            .tool-name {
                font-size: 15px;
                font-weight: 500;
                color: #333;
            }
            .tool-desc {
                font-size: 12px;
                color: #999;
                margin-top: 2px;
            }
            .btn-open {
                background: #1890ff;
                color: #fff;
                border: none;
                border-radius: 4px;
                padding: 6px 16px;
                font-size: 13px;
                cursor: pointer;
                white-space: nowrap;
                flex-shrink: 0;
            }
            .btn-open:hover {
                background: #40a9ff;
            }
        &amp;lt;/style&amp;gt;
    &amp;lt;/head&amp;gt;
    &amp;lt;body&amp;gt;
        &amp;lt;div class=&amp;quot;header&amp;quot;&amp;gt;
            &amp;lt;h1&amp;gt;我的工具箱&amp;lt;/h1&amp;gt;
            &amp;lt;p&amp;gt;点击&amp;quot;打开&amp;quot;按钮即可启动对应工具&amp;lt;/p&amp;gt;
        &amp;lt;/div&amp;gt;
        &amp;lt;div class=&amp;quot;tool-list&amp;quot;&amp;gt;
            &amp;lt;div class=&amp;quot;tool-item&amp;quot;&amp;gt;
                &amp;lt;div class=&amp;quot;tool-info&amp;quot;&amp;gt;
                    &amp;lt;div class=&amp;quot;tool-icon&amp;quot;&amp;gt;🎬&amp;lt;/div&amp;gt;
                    &amp;lt;div&amp;gt;
                        &amp;lt;div class=&amp;quot;tool-name&amp;quot;&amp;gt;ScreenToGif&amp;lt;/div&amp;gt;
                        &amp;lt;div class=&amp;quot;tool-desc&amp;quot;&amp;gt;屏幕录制工具，支持录屏、截图、GIF导出&amp;lt;/div&amp;gt;
                    &amp;lt;/div&amp;gt;
                &amp;lt;/div&amp;gt;
                &amp;lt;button class=&amp;quot;btn-open&amp;quot; onclick=&amp;quot;openTool('ScreenToGif.exe')&amp;quot;&amp;gt;打开&amp;lt;/button&amp;gt;
            &amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;

        &amp;lt;script&amp;gt;
            function openTool(fileName) {
                if (window.HTMLPackHelper) {
                    window.HTMLPackHelper.open(fileName);
                } else {
                    alert('请在打包后的EXE中运行，当前环境不支持此功能');
                }
            }
        &amp;lt;/script&amp;gt;
    &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;核心代码只有一行：&lt;/p&gt;
&lt;pre class=&quot;prism-highlight prism-language-js&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;window.HTMLPackHelper.open('ScreenToGif.exe');
&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;第二步：打包配置&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;打开HTML打包EXE工具&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;本地html主文件&lt;/strong&gt;：选择上面创建的 &lt;code&gt;index.html&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;附件文件&lt;/strong&gt;：点击&lt;strong&gt;配置附件&lt;/strong&gt; → &lt;strong&gt;添加文件&lt;/strong&gt; → 选择下载好的 &lt;code&gt;ScreenToGif.exe&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;在&lt;strong&gt;高级配置&lt;/strong&gt;中勾选&lt;strong&gt;启用API&lt;/strong&gt;（必须开启，否则 &lt;code&gt;HTMLPackHelper&lt;/code&gt; 不可用）&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&quot;https://www.ylongsoft.com/zb_users/upload/2026/04/1777461066285_4cf6117d.png&quot; alt=&quot;打包配置示例&quot;&gt;&lt;/p&gt;
&lt;ol start=&quot;5&quot;&gt;
&lt;li&gt;点击&lt;strong&gt;打包&lt;/strong&gt;，选择保存位置&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;第三步：运行效果&lt;/h3&gt;
&lt;p&gt;打包完成后，运行生成的EXE：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;程序启动后显示工具箱界面&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&quot;https://www.ylongsoft.com/zb_users/upload/2026/04/1777461066727_aa429771.png&quot; alt=&quot;打开ScreenToGif&quot;&gt;&lt;/p&gt;
&lt;ol start=&quot;2&quot;&gt;
&lt;li&gt;点击&lt;strong&gt;启动 ScreenToGif&lt;/strong&gt; 按钮&lt;/li&gt;
&lt;li&gt;ScreenToGif 程序被成功启动&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&quot;https://www.ylongsoft.com/zb_users/upload/2026/04/1777461066929_376c84ee.png&quot; alt=&quot;打包ScreenToGif后&quot;&gt;&lt;/p&gt;
&lt;h2&gt;open API 说明&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;HTMLPackHelper.open(itemPath)&lt;/code&gt; 用于打开一个文件或启动一个程序。&lt;/p&gt;
&lt;h3&gt;路径规则&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;路径类型&lt;/th&gt;
&lt;th&gt;示例&lt;/th&gt;
&lt;th&gt;说明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;相对路径&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&amp;quot;ScreenToGif.exe&amp;quot;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;相对于EXE所在目录&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;相对路径（子目录）&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&amp;quot;tools/mytool.exe&amp;quot;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;EXE所在目录下的子目录&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;绝对路径&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;&amp;quot;C:\\Windows\\notepad.exe&amp;quot;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;直接使用绝对路径&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;大多数情况下使用&lt;strong&gt;相对路径&lt;/strong&gt;即可，因为附件文件打包后就在EXE同级目录下。&lt;/p&gt;
&lt;h3&gt;前置条件&lt;/h3&gt;
&lt;p&gt;使用 &lt;code&gt;HTMLPackHelper.open()&lt;/code&gt; 需要在打包时勾选&lt;strong&gt;启用API&lt;/strong&gt;选项（位于高级配置标签页）。如果未开启API，&lt;code&gt;window.HTMLPackHelper&lt;/code&gt; 将为 &lt;code&gt;undefined&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;建议在调用前做一下判断：&lt;/p&gt;
&lt;pre class=&quot;prism-highlight prism-language-js&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;if (window.HTMLPackHelper) {
    window.HTMLPackHelper.open('ScreenToGif.exe');
} else {
    alert('当前环境不支持此功能');
}
&lt;/code&gt;&lt;/pre&gt;&lt;h3&gt;不仅可以打开EXE&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;open&lt;/code&gt; API 本质上调用的是系统的默认打开方式，因此不限于EXE文件：&lt;/p&gt;
&lt;pre class=&quot;prism-highlight prism-language-js&quot;&gt;&lt;code class=&quot;language-js&quot;&gt;// 打开一个附件PDF文档
window.HTMLPackHelper.open('使用手册.pdf');

// 打开一个附件文件夹
window.HTMLPackHelper.open('data');

// 打开一个附件图片
window.HTMLPackHelper.open('help.png');
&lt;/code&gt;&lt;/pre&gt;&lt;h2&gt;注意事项&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;启用API&lt;/strong&gt;：使用 &lt;code&gt;HTMLPackHelper.open()&lt;/code&gt; 前必须在高级配置中勾选启用API&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;文件体积&lt;/strong&gt;：附件文件会增加打包后的EXE体积，建议使用便携版/单文件版工具&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;路径中的空格&lt;/strong&gt;：如果文件名包含空格，直接传入即可，不需要额外处理&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;安装版EXE&lt;/strong&gt;：附件文件同样会被包含在安装包中，安装后位于安装目录下&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;杀毒软件&lt;/strong&gt;：部分杀毒软件可能对打包的EXE中包含其他EXE文件产生误报，建议发布前测试&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;相关阅读&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://leapever.com/tutorial/html2exe-installer-config-guide&quot;&gt;HTML打包EXE工具安装包配置教程&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://leapever.com/tutorial/html2exe-splash-screen-guide&quot;&gt;HTML打包EXE工具启动图设置教程&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://leapever.com/tutorial/html2exe-custom-menu-guide&quot;&gt;HTML打包EXE工具自定义菜单功能详解&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://leapever.com/tutorial/html2exe-new-api-version-and-request-headers&quot;&gt;HTML打包EXE新增API说明：版本号获取&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Wed, 29 Apr 2026 19:11:05 +0800</pubDate></item><item><title>HTML打包EXE安装包配置教程 - 自定义安装目录和桌面快捷方式名</title><link>https://www.ylongsoft.com/post//html2exe-installer-config-guide.html</link><description>&lt;p&gt;HTML打包EXE工具在选择&lt;strong&gt;安装版EXE&lt;/strong&gt;格式时，支持自定义安装目录和桌面快捷方式名称。本文简单介绍这两个配置项的作用和默认行为。&lt;/p&gt;
&lt;h2&gt;下载最新版本&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://api.leapever.com/packerv2/download&quot;&gt;立即下载最新版本&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://leapever.com/intro/html2exe/&quot;&gt;HTML打包EXE工具官网&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;!-- truncate --&gt;
&lt;h2&gt;配置位置&lt;/h2&gt;
&lt;p&gt;在打包工具中切换到&lt;strong&gt;高级配置&lt;/strong&gt;标签页，底部有一个&lt;strong&gt;安装包配置&lt;/strong&gt;面板，包含两个配置项：&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://www.ylongsoft.com/zb_users/upload/2026/04/1777376477494_450eb6f7.png&quot; alt=&quot;安装包配置面板&quot;&gt;&lt;/p&gt;
&lt;h2&gt;默认安装目录&lt;/h2&gt;
&lt;p&gt;这个配置项决定了用户安装时的默认安装路径，完整路径为：&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;C:\Program Files (x86)\{你填写的内容}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;不填时&lt;/strong&gt;：自动使用打包时保存的EXE文件名作为安装目录名。例如你保存的安装包文件名为 &lt;code&gt;MyApp-setup.exe&lt;/code&gt;，那么默认安装路径就是 &lt;code&gt;C:\Program Files (x86)\MyApp-setup&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;填写后&lt;/strong&gt;：使用你填写的名称。例如填写 &lt;code&gt;我的应用&lt;/code&gt;，安装路径就是 &lt;code&gt;C:\Program Files (x86)\我的应用&lt;/code&gt;。&lt;/p&gt;
&lt;h2&gt;桌面快捷方式名&lt;/h2&gt;
&lt;p&gt;这个配置项决定了安装完成后桌面上快捷方式显示的名称。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;不填时&lt;/strong&gt;：同样使用打包时保存的EXE文件名。例如保存的文件名为 &lt;code&gt;MyApp-setup.exe&lt;/code&gt;，桌面快捷方式就显示为 &lt;code&gt;MyApp-setup&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;填写后&lt;/strong&gt;：使用你填写的名称。例如填写 &lt;code&gt;我的应用&lt;/code&gt;，桌面快捷方式就显示为 &lt;code&gt;我的应用&lt;/code&gt;。&lt;/p&gt;
&lt;h2&gt;使用建议&lt;/h2&gt;
&lt;p&gt;大多数情况下建议填写这两个配置项，给用户一个清晰的应用名称，而不是使用默认的文件名。特别是当保存的文件名包含版本号或 &lt;code&gt;-setup&lt;/code&gt; 等后缀时，填写一个简洁的应用名会更美观。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;注意&lt;/strong&gt;：安装包配置仅在格式设置选择&lt;strong&gt;安装版EXE&lt;/strong&gt;时生效，选择绿色版EXE时无需关注此配置。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;相关阅读&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://leapever.com/tutorial/html2exe-splash-screen-guide&quot;&gt;HTML打包EXE工具启动图设置教程&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://leapever.com/tutorial/html2exe-encrypt-tutorial&quot;&gt;HTML打包EXE工具加密功能教程&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://leapever.com/tutorial/html2exe-custom-menu-guide&quot;&gt;HTML打包EXE工具自定义菜单功能详解&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://leapever.com/tutorial/html2exe-transparent-window-guide&quot;&gt;HTML打包EXE工具透明窗口教程&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Tue, 28 Apr 2026 19:41:17 +0800</pubDate></item><item><title>HTML打包/EXE加密的一机一码网络验证常见问题汇总</title><link>https://www.ylongsoft.com/post//html2exe-network-validation-faq.html</link><description>&lt;p&gt;本文汇总了 HTML打包EXE工具 和 EXE一机一码加密大师 在使用网络验证功能时的常见问题与解答，帮助你快速定位和解决遇到的问题。&lt;/p&gt;&lt;h2&gt;下载最新版本&lt;/h2&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://api.leapever.com/packerv2/download&quot;&gt;HTML打包EXE工具下载&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://api.leapever.com/exeenc/download&quot;&gt;EXE一机一码加密大师下载&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://leapever.com/intro/html2exe/&quot;&gt;HTML打包EXE工具官网&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;!-- truncate --&gt;&lt;h2&gt;一机一码机制&lt;/h2&gt;&lt;h3&gt;Q：网络验证的「一机一码」是什么意思？&lt;/h3&gt;&lt;p&gt;一机一码是指每个激活码激活时会&lt;strong&gt;绑定用户的机器码&lt;/strong&gt;，绑定后该激活码只能在这一台机器上使用。即使激活码被泄露给其他人，也无法在其他电脑上使用，有效防止激活码被多人共享。&lt;/p&gt;&lt;h3&gt;Q：用户换了电脑，之前的激活码还能用吗？&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;不能。&lt;/strong&gt; 激活码绑定的是原来那台电脑的机器码，更换电脑后机器码会改变，原激活码无法使用。你需要为用户生成一个新的激活码。&lt;/p&gt;&lt;h3&gt;Q：用户重装系统后，激活码还有效吗？&lt;/h3&gt;&lt;p&gt;一般情况下，重装系统不会影响机器码，激活码仍然有效。但如果用户更换了主要硬件（如主板、硬盘等），机器码可能会改变，此时需要重新提供新的激活码。&lt;/p&gt;&lt;h3&gt;Q：一个激活码可以在多台电脑上使用吗？&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;不可以。&lt;/strong&gt; 这是一机一码机制的核心——一个激活码只能绑定一台机器。如果需要在多台机器上使用，需要为每台机器分别生成激活码。&lt;/p&gt;&lt;hr/&gt;&lt;h2&gt;激活码管理&lt;/h2&gt;&lt;h3&gt;Q：如何批量生成激活码？&lt;/h3&gt;&lt;p&gt;在管理后台的&lt;strong&gt;生成激活码&lt;/strong&gt;页面，设置好过期时间、允许打开次数、App ID 等参数后，将&lt;strong&gt;生成数目&lt;/strong&gt;设为你需要的数量（最多一次 100 个），点击生成即可批量创建。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://www.ylongsoft.com/zb_users/upload/2026/04/1777293044842_35ce9c30.png&quot; alt=&quot;生成激活码&quot;/&gt;&lt;/p&gt;&lt;h3&gt;Q：激活码可以设置有效期吗？&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;可以。&lt;/strong&gt; 生成激活码时可以选择有效时长，支持 1小时 到 3年，也可以选择永久有效或自定义分钟数。有效期从用户激活时开始计算，而不是从生成时开始。&lt;/p&gt;&lt;h3&gt;Q：激活码过期了怎么办？&lt;/h3&gt;&lt;p&gt;过期的激活码无法续期，需要为用户生成新的激活码。用户使用新激活码重新激活即可。&lt;/p&gt;&lt;h3&gt;Q：如何禁用某个用户的激活码？&lt;/h3&gt;&lt;p&gt;在管理后台的&lt;strong&gt;激活码管理&lt;/strong&gt;页面，找到对应的激活码，点击&lt;strong&gt;禁用&lt;/strong&gt;按钮即可。禁用后用户打开软件时验证会失败。如需恢复，点击&lt;strong&gt;启用&lt;/strong&gt;即可。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://www.ylongsoft.com/zb_users/upload/2026/04/1777293045275_84899632.png&quot; alt=&quot;激活码管理&quot;/&gt;&lt;/p&gt;&lt;h3&gt;Q：删除和禁用激活码有什么区别？&lt;/h3&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;禁用&lt;/strong&gt;：临时操作，可以随时恢复启用&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;删除&lt;/strong&gt;：永久操作，删除后无法恢复&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;如果只是想暂时阻止某个用户使用，建议使用禁用功能。&lt;/p&gt;&lt;hr/&gt;&lt;h2&gt;配置与打包&lt;/h2&gt;&lt;h3&gt;Q：App ID 有什么作用？怎么设置？&lt;/h3&gt;&lt;p&gt;App ID 用于区分不同的软件项目。在打包/加密时设置一个 App ID（如 &lt;code&gt;myapp1&lt;/code&gt;），在管理后台生成激活码时也需要填写相同的 App ID。不同的软件建议使用不同的 App ID，方便独立管理。&lt;/p&gt;&lt;h3&gt;Q：App ID 填错了会怎样？&lt;/h3&gt;&lt;p&gt;如果管理后台生成激活码时填写的 App ID 与打包/加密时设置的 App ID 不一致，用户激活时会验证失败。请确保两端的 App ID &lt;strong&gt;完全一致&lt;/strong&gt;。&lt;/p&gt;&lt;h3&gt;Q：后台地址和密钥填写后，点击打开管理后台没反应？&lt;/h3&gt;&lt;p&gt;请检查以下几点：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;是否完整粘贴了后台地址和密钥，包括 &lt;code&gt;leapeverurl_&lt;/code&gt; 和 &lt;code&gt;leapeverkey_&lt;/code&gt; 前缀&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;是否有多余的空格或换行符&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;是否手动修改了内容（请勿手动修改，直接完整粘贴）&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;img src=&quot;https://www.ylongsoft.com/zb_users/upload/2026/04/1777293045604_0213803b.png&quot; alt=&quot;填写后台地址和密钥&quot;/&gt;&lt;/p&gt;&lt;h3&gt;Q：可以在多台电脑上使用同一组后台地址和密钥吗？&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;可以。&lt;/strong&gt; 后台地址和密钥与你的账号绑定，可以在不同的电脑上使用同一组凭证进行打包和管理激活码。&lt;/p&gt;&lt;hr/&gt;&lt;h2&gt;用户激活相关&lt;/h2&gt;&lt;h3&gt;Q：用户激活时提示失败是什么原因？&lt;/h3&gt;&lt;p&gt;常见原因包括：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;激活码与 App ID 不匹配&lt;/strong&gt;：确保激活码是针对该软件的 App ID 生成的&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;激活码已被使用&lt;/strong&gt;：该激活码已经在另一台机器上激活过&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;激活码已过期&lt;/strong&gt;：检查激活码的有效期&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;激活码已被禁用&lt;/strong&gt;：在后台检查激活码状态&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;网络问题&lt;/strong&gt;：用户的网络无法连接验证服务器&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3&gt;Q：用户激活时需要联网吗？&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;需要。&lt;/strong&gt; 网络验证顾名思义需要联网才能完成激活和验证。如果用户的环境无法联网，建议改用&lt;strong&gt;离线一机一码&lt;/strong&gt;验证方式。&lt;/p&gt;&lt;h3&gt;Q：用户每次打开软件都需要联网验证吗？&lt;/h3&gt;&lt;p&gt;激活成功后，软件会在本地保存验证信息。后续打开软件时会尝试联网验证，如果短暂无网络通常不会影响使用，但长期离线可能导致验证失效。&lt;/p&gt;&lt;h3&gt;Q：可以设置允许试用吗？&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;可以。&lt;/strong&gt; 在打包/加密时可以设置&lt;strong&gt;允许试用次数&lt;/strong&gt;，用户在未输入激活码的情况下可以试用软件指定次数。试用次数用完后必须输入激活码才能继续使用。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://www.ylongsoft.com/zb_users/upload/2026/04/1777293045897_ad564096.png&quot; alt=&quot;配置试用次数&quot;/&gt;&lt;/p&gt;&lt;hr/&gt;&lt;h2&gt;后台部署与共用&lt;/h2&gt;&lt;h3&gt;Q：网络验证后台可以同时给 HTML打包EXE 和 EXE一机一码加密大师 使用吗？&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;可以。&lt;/strong&gt; 网络验证后台后部署完成后，HTML打包EXE工具 和 EXE一机一码加密大师 可以共用同一个后台地址和密钥。两款软件的网络验证功能使用的是同一套验证系统，只需将后台地址和密钥分别填入两款工具的网络验证配置页面即可。&lt;/p&gt;&lt;p&gt;通过设置不同的 &lt;strong&gt;App ID&lt;/strong&gt; 来区分不同的软件项目，管理后台可以统一管理所有软件的激活码。&lt;/p&gt;&lt;h3&gt;Q：两款软件共用后台时，激活码是通用的吗？&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;不是通用的。&lt;/strong&gt; 虽然后台是同一个，但激活码是通过 &lt;strong&gt;App ID&lt;/strong&gt; 来区分的。HTML打包EXE打包的软件和EXE加密大师加密的软件如果设置了不同的 App ID，它们的激活码互不通用。只有 App ID 相同的软件之间，激活码才能通用。&lt;/p&gt;&lt;h3&gt;Q：购买网络验证服务后需要自己部署服务器吗？&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;不需要。&lt;/strong&gt; 购买后会直接收到后台地址和密钥，使用的是官方服务器，无需自行部署。将收到的 &lt;code&gt;leapeverurl_xxxxxxxx&lt;/code&gt; 和 &lt;code&gt;leapeverkey_xxxxxxxx&lt;/code&gt; 粘贴到工具中即可使用。&lt;/p&gt;&lt;h3&gt;Q：可以部署自己的网络验证服务器吗？&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;可以。&lt;/strong&gt; 如果有特殊需求，可以定制部署独立的验证后台。具体价格请访问购买页面或联系客服：&lt;a href=&quot;https://leapever.com/purchase/network-validation&quot;&gt;查看详细价格&lt;/a&gt;&lt;/p&gt;&lt;hr/&gt;&lt;h2&gt;续费与费用&lt;/h2&gt;&lt;h3&gt;Q：网络验证服务到期后，已激活的用户会受影响吗？&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;不会。&lt;/strong&gt; 服务到期后，已激活的用户可以继续正常使用软件。但你将无法通过管理后台生成新的激活码或管理已有激活码。&lt;/p&gt;&lt;h3&gt;Q：续费后数据会丢失吗？&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;不会。&lt;/strong&gt; 续费后使用相同账号购买即可，原有的激活码数据会自动恢复，无需重新配置。&lt;/p&gt;&lt;h3&gt;Q：网络验证和离线一机一码哪个更适合我？&lt;/h3&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;场景&lt;/th&gt;&lt;th&gt;推荐方式&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;用户量大，需要批量分发激活码&lt;/td&gt;&lt;td&gt;网络验证&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;需要远程管理和禁用用户&lt;/td&gt;&lt;td&gt;网络验证&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;用户环境无法联网&lt;/td&gt;&lt;td&gt;离线一机一码&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;不想维护后台，用户量少&lt;/td&gt;&lt;td&gt;离线一机一码&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;需要设置激活码有效期&lt;/td&gt;&lt;td&gt;网络验证&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;更多对比详情可参考：&lt;a href=&quot;https://leapever.com/tutorial/offline-vs-network-verification&quot;&gt;离线一机一码验证和网络验证的区别&lt;/a&gt;&lt;/p&gt;&lt;hr/&gt;&lt;h2&gt;安全性&lt;/h2&gt;&lt;h3&gt;Q：后台地址和密钥可以分享给别人吗？&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;不建议。&lt;/strong&gt; 后台地址和密钥是你专属的管理凭证，分享后他人可以管理你的全部激活码（包括生成、删除、禁用等操作）。请妥善保管。&lt;/p&gt;&lt;h3&gt;Q：激活码被泄露了怎么办？&lt;/h3&gt;&lt;p&gt;由于是一机一码机制，即使激活码被泄露，也只能在已绑定的那台机器上使用。如果激活码尚未被使用就泄露了，可以在管理后台&lt;strong&gt;删除&lt;/strong&gt;该激活码并重新生成新的。&lt;/p&gt;&lt;h3&gt;Q：用户可以通过修改系统时间来绕过有效期吗？&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;不能。&lt;/strong&gt; 网络验证的有效期是由服务器端控制的，不依赖用户本地的系统时间，因此修改本地时间无法绕过有效期限制。&lt;/p&gt;&lt;hr/&gt;&lt;h2&gt;相关阅读&lt;/h2&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://leapever.com/tutorial/html2exe-network-validation-setup-guide&quot;&gt;网络验证接入指南&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://leapever.com/tutorial/html2exe-network-validation-admin-guide&quot;&gt;网络验证管理后台使用指南&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://leapever.com/intro/html2exe/docs/network-validation&quot;&gt;网络验证功能说明&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://leapever.com/tutorial/offline-vs-network-verification&quot;&gt;离线一机一码验证和网络验证的区别&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://leapever.com/tutorial/html2exe-encryption-comparison&quot;&gt;HTML打包EXE三种加密方式对比&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://leapever.com/tutorial/html2exe-encrypt-tutorial&quot;&gt;HTML打包EXE离线一机一码使用详细教程&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;</description><pubDate>Mon, 27 Apr 2026 20:30:45 +0800</pubDate></item><item><title>HTML打包EXE透明窗口教程 - 打造炫酷无边框透明桌面应用</title><link>https://www.ylongsoft.com/post//html2exe-transparent-window-guide.html</link><description>&lt;p&gt;使用HTML打包EXE工具的&lt;strong&gt;无边框窗口&lt;/strong&gt;功能，结合CSS透明背景和 &lt;code&gt;-webkit-app-region&lt;/code&gt; 拖动属性，可以打造出炫酷的透明桌面应用程序。告别千篇一律的标准窗口，让你的应用拥有独特的视觉风格。&lt;/p&gt;&lt;h2&gt;下载最新版本&lt;/h2&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://api.leapever.com/packerv2/download&quot;&gt;立即下载最新版本&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://leapever.com/intro/html2exe/&quot;&gt;HTML打包EXE工具官网&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;!-- truncate --&gt;&lt;h2&gt;实现原理&lt;/h2&gt;&lt;p&gt;透明窗口的实现需要两个关键步骤配合：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;打包工具端&lt;/strong&gt;：勾选「无边框窗口」选项，去掉系统默认的标题栏和窗口边框&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;HTML/CSS端&lt;/strong&gt;：将页面背景设为透明，让窗口呈现透明效果；同时使用 &lt;code&gt;-webkit-app-region: drag&lt;/code&gt; 让用户可以拖动窗口&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;打包工具配置&lt;/h2&gt;&lt;p&gt;在打包工具主界面切换到&lt;strong&gt;高级配置&lt;/strong&gt;标签页，勾选&lt;strong&gt;无边框窗口&lt;/strong&gt;选项：&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://www.ylongsoft.com/zb_users/upload/2026/04/1777207288971_424a5ec0.png&quot; alt=&quot;勾选无边框窗口&quot;/&gt;&lt;/p&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;配置项&lt;/th&gt;&lt;th&gt;说明&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;无边框窗口&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;勾选后，打包的EXE文件将没有窗口边框和标题栏&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;提示&lt;/strong&gt;：勾选无边框窗口后，系统自带的标题栏（包括最小化、最大化、关闭按钮）将被移除，需要在HTML中自行实现这些功能。&lt;/p&gt;&lt;/blockquote&gt;&lt;h2&gt;设置透明背景&lt;/h2&gt;&lt;p&gt;在HTML文件中，将 &lt;code&gt;html&lt;/code&gt; 和 &lt;code&gt;body&lt;/code&gt; 的背景色设置为透明：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-css&quot;&gt;html,
body&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;margin:&amp;nbsp;0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;padding:&amp;nbsp;0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;background:&amp;nbsp;transparent&amp;nbsp;!important;
}&lt;/pre&gt;&lt;p&gt;这样窗口中没有内容覆盖的区域将直接透明，可以看到桌面背景。&lt;/p&gt;&lt;h2&gt;实现窗口拖动&lt;/h2&gt;&lt;p&gt;无边框窗口去掉了系统标题栏，用户无法通过标题栏拖动窗口。此时需要使用 &lt;code&gt;-webkit-app-region&lt;/code&gt; 属性来指定可拖动区域：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-css&quot;&gt;/*&amp;nbsp;设置整个容器可拖动&amp;nbsp;*/
.drag-area&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-webkit-app-region:&amp;nbsp;drag;
}

/*&amp;nbsp;按钮、输入框等交互元素需要排除拖动，否则无法点击&amp;nbsp;*/
button,
input,
a,
.no-drag&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-webkit-app-region:&amp;nbsp;no-drag;
}&lt;/pre&gt;&lt;h3&gt;关键规则&lt;/h3&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;属性值&lt;/th&gt;&lt;th&gt;说明&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;drag&lt;/code&gt;&lt;/td&gt;&lt;td&gt;设置该区域可以拖动窗口，类似系统标题栏的效果&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;code&gt;no-drag&lt;/code&gt;&lt;/td&gt;&lt;td&gt;排除该区域的拖动行为，使其可以正常点击和交互&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;注意&lt;/strong&gt;：被设置为 &lt;code&gt;drag&lt;/code&gt; 的区域将无法响应鼠标点击事件。因此按钮、链接、输入框等需要交互的元素，必须单独设置 &lt;code&gt;no-drag&lt;/code&gt;，否则用户将无法点击。&lt;/p&gt;&lt;/blockquote&gt;&lt;h2&gt;自定义关闭/最小化按钮&lt;/h2&gt;&lt;p&gt;去掉系统标题栏后，需要自己实现窗口控制按钮。可以通过开启&lt;strong&gt;API支持&lt;/strong&gt;来调用窗口控制功能：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;在高级配置中勾选 &lt;strong&gt;开启API支持&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;在HTML中使用以下JS API控制窗口：&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;pre class=&quot;prism-highlight prism-language-javascript&quot;&gt;//&amp;nbsp;最小化窗口
window.HTMLPackHelper.minimize();

//&amp;nbsp;最大化/还原窗口
window.HTMLPackHelper.maximize();

//&amp;nbsp;恢复窗口大小
window.HTMLPackHelper.restore();

//&amp;nbsp;关闭窗口
window.HTMLPackHelper.close();&lt;/pre&gt;&lt;h2&gt;完整示例：赛博朋克桌面时钟&lt;/h2&gt;&lt;p&gt;下面是一个赛博朋克风格的透明桌面时钟组件，带有霓虹灯光效、扫描线动画和实时时钟，可以直接用于打包：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-html&quot;&gt;&amp;lt;!DOCTYPE&amp;nbsp;html&amp;gt;
&amp;lt;html&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;head&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;meta&amp;nbsp;charset=&amp;quot;UTF-8&amp;quot;&amp;nbsp;/&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;title&amp;gt;Cyber&amp;nbsp;Clock&amp;lt;/title&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;style&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;margin:&amp;nbsp;0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;padding:&amp;nbsp;0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;box-sizing:&amp;nbsp;border-box;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;html,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;body&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;background:&amp;nbsp;transparent&amp;nbsp;!important;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;height:&amp;nbsp;100%;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;font-family:&amp;nbsp;&amp;#39;Consolas&amp;#39;,&amp;nbsp;&amp;#39;Courier&amp;nbsp;New&amp;#39;,&amp;nbsp;monospace;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;overflow:&amp;nbsp;hidden;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-webkit-user-select:&amp;nbsp;none;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;user-select:&amp;nbsp;none;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.panel&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;width:&amp;nbsp;100%;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;height:&amp;nbsp;100%;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;display:&amp;nbsp;flex;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;flex-direction:&amp;nbsp;column;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;border:&amp;nbsp;1px&amp;nbsp;solid&amp;nbsp;rgba(0,&amp;nbsp;255,&amp;nbsp;200,&amp;nbsp;0.25);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;background:&amp;nbsp;rgba(0,&amp;nbsp;10,&amp;nbsp;15,&amp;nbsp;0.85);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;position:&amp;nbsp;relative;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/*&amp;nbsp;扫描线动画&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.panel::after&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;content:&amp;nbsp;&amp;#39;&amp;#39;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;position:&amp;nbsp;absolute;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;top:&amp;nbsp;0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;left:&amp;nbsp;0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;right:&amp;nbsp;0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;height:&amp;nbsp;2px;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;background:&amp;nbsp;linear-gradient(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;90deg,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;transparent,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rgba(0,&amp;nbsp;255,&amp;nbsp;200,&amp;nbsp;0.4),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;transparent
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;animation:&amp;nbsp;scanline&amp;nbsp;3s&amp;nbsp;linear&amp;nbsp;infinite;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pointer-events:&amp;nbsp;none;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;z-index:&amp;nbsp;10;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@keyframes&amp;nbsp;scanline&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0%&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;top:&amp;nbsp;0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;opacity:&amp;nbsp;1;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;50%&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;opacity:&amp;nbsp;0.5;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;100%&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;top:&amp;nbsp;100%;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;opacity:&amp;nbsp;0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/*&amp;nbsp;顶栏&amp;nbsp;-&amp;nbsp;可拖动&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.top-bar&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-webkit-app-region:&amp;nbsp;drag;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;display:&amp;nbsp;flex;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;align-items:&amp;nbsp;center;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;justify-content:&amp;nbsp;space-between;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;padding:&amp;nbsp;8px&amp;nbsp;14px;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;border-bottom:&amp;nbsp;1px&amp;nbsp;solid&amp;nbsp;rgba(0,&amp;nbsp;255,&amp;nbsp;200,&amp;nbsp;0.12);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;flex-shrink:&amp;nbsp;0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.top-bar&amp;nbsp;.sys-label&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;font-size:&amp;nbsp;10px;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;color:&amp;nbsp;rgba(0,&amp;nbsp;255,&amp;nbsp;200,&amp;nbsp;0.5);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;letter-spacing:&amp;nbsp;3px;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;text-transform:&amp;nbsp;uppercase;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.top-bar&amp;nbsp;.dot&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;display:&amp;nbsp;inline-block;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;width:&amp;nbsp;6px;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;height:&amp;nbsp;6px;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;border-radius:&amp;nbsp;50%;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;background:&amp;nbsp;#0fa;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;margin-right:&amp;nbsp;8px;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;box-shadow:&amp;nbsp;0&amp;nbsp;0&amp;nbsp;6px&amp;nbsp;#0fa;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;animation:&amp;nbsp;blink&amp;nbsp;2s&amp;nbsp;ease&amp;nbsp;infinite;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@keyframes&amp;nbsp;blink&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0%,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;100%&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;opacity:&amp;nbsp;1;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;50%&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;opacity:&amp;nbsp;0.3;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/*&amp;nbsp;窗口按钮&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.win-btns&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;display:&amp;nbsp;flex;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;gap:&amp;nbsp;6px;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-webkit-app-region:&amp;nbsp;no-drag;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.win-btns&amp;nbsp;button&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;width:&amp;nbsp;18px;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;height:&amp;nbsp;18px;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;border:&amp;nbsp;1px&amp;nbsp;solid&amp;nbsp;rgba(0,&amp;nbsp;255,&amp;nbsp;200,&amp;nbsp;0.25);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;background:&amp;nbsp;transparent;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;color:&amp;nbsp;rgba(0,&amp;nbsp;255,&amp;nbsp;200,&amp;nbsp;0.6);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;font-size:&amp;nbsp;10px;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cursor:&amp;nbsp;pointer;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;display:&amp;nbsp;flex;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;align-items:&amp;nbsp;center;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;justify-content:&amp;nbsp;center;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;transition:&amp;nbsp;all&amp;nbsp;0.15s;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.win-btns&amp;nbsp;button:hover&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;background:&amp;nbsp;rgba(0,&amp;nbsp;255,&amp;nbsp;200,&amp;nbsp;0.12);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;border-color:&amp;nbsp;rgba(0,&amp;nbsp;255,&amp;nbsp;200,&amp;nbsp;0.6);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;color:&amp;nbsp;#0fa;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.win-btns&amp;nbsp;.btn-x:hover&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;background:&amp;nbsp;rgba(255,&amp;nbsp;60,&amp;nbsp;60,&amp;nbsp;0.2);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;border-color:&amp;nbsp;rgba(255,&amp;nbsp;60,&amp;nbsp;60,&amp;nbsp;0.6);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;color:&amp;nbsp;#ff5050;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/*&amp;nbsp;时钟主体&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.clock-body&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;flex:&amp;nbsp;1;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;display:&amp;nbsp;flex;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;flex-direction:&amp;nbsp;column;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;align-items:&amp;nbsp;center;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;justify-content:&amp;nbsp;center;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;padding:&amp;nbsp;0&amp;nbsp;24px;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.time&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;font-size:&amp;nbsp;64px;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;font-weight:&amp;nbsp;700;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;color:&amp;nbsp;#0fa;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;letter-spacing:&amp;nbsp;4px;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;text-shadow:&amp;nbsp;0&amp;nbsp;0&amp;nbsp;20px&amp;nbsp;rgba(0,&amp;nbsp;255,&amp;nbsp;200,&amp;nbsp;0.35);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;font-variant-numeric:&amp;nbsp;tabular-nums;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;line-height:&amp;nbsp;1;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.time&amp;nbsp;.colon&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;animation:&amp;nbsp;blink&amp;nbsp;1s&amp;nbsp;step-end&amp;nbsp;infinite;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.date-row&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;margin-top:&amp;nbsp;8px;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;font-size:&amp;nbsp;13px;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;color:&amp;nbsp;rgba(0,&amp;nbsp;255,&amp;nbsp;200,&amp;nbsp;0.4);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;letter-spacing:&amp;nbsp;2px;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/*&amp;nbsp;分隔线&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.sep&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;margin:&amp;nbsp;0&amp;nbsp;24px;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;height:&amp;nbsp;1px;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;background:&amp;nbsp;linear-gradient(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;90deg,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;transparent,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rgba(0,&amp;nbsp;255,&amp;nbsp;200,&amp;nbsp;0.2),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;transparent
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;flex-shrink:&amp;nbsp;0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/*&amp;nbsp;底部信息&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.info-grid&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;display:&amp;nbsp;grid;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;grid-template-columns:&amp;nbsp;1fr&amp;nbsp;1fr&amp;nbsp;1fr;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;gap:&amp;nbsp;0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;padding:&amp;nbsp;12px&amp;nbsp;24px;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;text-align:&amp;nbsp;center;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;flex-shrink:&amp;nbsp;0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.info-item&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;padding:&amp;nbsp;6px&amp;nbsp;0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.info-item:not(:last-child)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;border-right:&amp;nbsp;1px&amp;nbsp;solid&amp;nbsp;rgba(0,&amp;nbsp;255,&amp;nbsp;200,&amp;nbsp;0.08);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.info-val&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;font-size:&amp;nbsp;18px;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;color:&amp;nbsp;#0fa;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;font-weight:&amp;nbsp;700;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;display:&amp;nbsp;block;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;.info-label&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;font-size:&amp;nbsp;9px;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;color:&amp;nbsp;rgba(0,&amp;nbsp;255,&amp;nbsp;200,&amp;nbsp;0.35);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;letter-spacing:&amp;nbsp;2px;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;text-transform:&amp;nbsp;uppercase;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;margin-top:&amp;nbsp;4px;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;display:&amp;nbsp;block;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/style&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/head&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;body&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;div&amp;nbsp;class=&amp;quot;panel&amp;quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;div&amp;nbsp;class=&amp;quot;top-bar&amp;quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;span&amp;gt;&amp;lt;span&amp;nbsp;class=&amp;quot;dot&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span&amp;nbsp;class=&amp;quot;sys-label&amp;quot;&amp;gt;System&amp;nbsp;Monitor&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;div&amp;nbsp;class=&amp;quot;win-btns&amp;quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;button&amp;nbsp;onclick=&amp;quot;window.HTMLPackHelper.minimize()&amp;quot;&amp;gt;─&amp;lt;/button&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;button&amp;nbsp;class=&amp;quot;btn-x&amp;quot;&amp;nbsp;onclick=&amp;quot;window.HTMLPackHelper.close()&amp;quot;&amp;gt;✕&amp;lt;/button&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/div&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/div&amp;gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;div&amp;nbsp;class=&amp;quot;clock-body&amp;quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;div&amp;nbsp;class=&amp;quot;time&amp;quot;&amp;nbsp;id=&amp;quot;clock&amp;quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;00&amp;lt;span&amp;nbsp;class=&amp;quot;colon&amp;quot;&amp;gt;:&amp;lt;/span&amp;gt;00&amp;lt;span&amp;nbsp;class=&amp;quot;colon&amp;quot;&amp;gt;:&amp;lt;/span&amp;gt;00
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/div&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;div&amp;nbsp;class=&amp;quot;date-row&amp;quot;&amp;nbsp;id=&amp;quot;date-row&amp;quot;&amp;gt;----/--/--&amp;lt;/div&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/div&amp;gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;div&amp;nbsp;class=&amp;quot;sep&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;div&amp;nbsp;class=&amp;quot;info-grid&amp;quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;div&amp;nbsp;class=&amp;quot;info-item&amp;quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;span&amp;nbsp;class=&amp;quot;info-val&amp;quot;&amp;nbsp;id=&amp;quot;run-time&amp;quot;&amp;gt;00:00&amp;lt;/span&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;span&amp;nbsp;class=&amp;quot;info-label&amp;quot;&amp;gt;运行时长&amp;lt;/span&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/div&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;div&amp;nbsp;class=&amp;quot;info-item&amp;quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;span&amp;nbsp;class=&amp;quot;info-val&amp;quot;&amp;nbsp;id=&amp;quot;fps&amp;quot;&amp;gt;--&amp;lt;/span&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;span&amp;nbsp;class=&amp;quot;info-label&amp;quot;&amp;gt;FPS&amp;lt;/span&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/div&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;div&amp;nbsp;class=&amp;quot;info-item&amp;quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;span&amp;nbsp;class=&amp;quot;info-val&amp;quot;&amp;nbsp;id=&amp;quot;mem&amp;quot;&amp;gt;--&amp;nbsp;MB&amp;lt;/span&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;span&amp;nbsp;class=&amp;quot;info-label&amp;quot;&amp;gt;内存&amp;lt;/span&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/div&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/div&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/div&amp;gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;script&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const&amp;nbsp;weekdays&amp;nbsp;=&amp;nbsp;[&amp;#39;日&amp;#39;,&amp;nbsp;&amp;#39;一&amp;#39;,&amp;nbsp;&amp;#39;二&amp;#39;,&amp;nbsp;&amp;#39;三&amp;#39;,&amp;nbsp;&amp;#39;四&amp;#39;,&amp;nbsp;&amp;#39;五&amp;#39;,&amp;nbsp;&amp;#39;六&amp;#39;];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const&amp;nbsp;startTime&amp;nbsp;=&amp;nbsp;Date.now();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;let&amp;nbsp;frames&amp;nbsp;=&amp;nbsp;0,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lastFpsTime&amp;nbsp;=&amp;nbsp;Date.now(),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;currentFps&amp;nbsp;=&amp;nbsp;0;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;function&amp;nbsp;pad(n)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;n&amp;nbsp;&amp;lt;&amp;nbsp;10&amp;nbsp;?&amp;nbsp;&amp;#39;0&amp;#39;&amp;nbsp;+&amp;nbsp;n&amp;nbsp;:&amp;nbsp;n;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;function&amp;nbsp;tick()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const&amp;nbsp;now&amp;nbsp;=&amp;nbsp;new&amp;nbsp;Date();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;document.getElementById(&amp;#39;clock&amp;#39;).innerHTML&amp;nbsp;=
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pad(now.getHours())&amp;nbsp;+
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;&amp;lt;span&amp;nbsp;class=&amp;quot;colon&amp;quot;&amp;gt;:&amp;lt;/span&amp;gt;&amp;#39;&amp;nbsp;+
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pad(now.getMinutes())&amp;nbsp;+
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;&amp;lt;span&amp;nbsp;class=&amp;quot;colon&amp;quot;&amp;gt;:&amp;lt;/span&amp;gt;&amp;#39;&amp;nbsp;+
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pad(now.getSeconds());

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;document.getElementById(&amp;#39;date-row&amp;#39;).textContent&amp;nbsp;=
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;now.getFullYear()&amp;nbsp;+
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;/&amp;#39;&amp;nbsp;+
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pad(now.getMonth()&amp;nbsp;+&amp;nbsp;1)&amp;nbsp;+
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;/&amp;#39;&amp;nbsp;+
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pad(now.getDate())&amp;nbsp;+
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;&amp;nbsp;&amp;nbsp;星期&amp;#39;&amp;nbsp;+
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;weekdays[now.getDay()];

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;运行时长
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const&amp;nbsp;elapsed&amp;nbsp;=&amp;nbsp;Math.floor((Date.now()&amp;nbsp;-&amp;nbsp;startTime)&amp;nbsp;/&amp;nbsp;1000);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const&amp;nbsp;m&amp;nbsp;=&amp;nbsp;Math.floor(elapsed&amp;nbsp;/&amp;nbsp;60),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;s&amp;nbsp;=&amp;nbsp;elapsed&amp;nbsp;%&amp;nbsp;60;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;document.getElementById(&amp;#39;run-time&amp;#39;).textContent&amp;nbsp;=&amp;nbsp;pad(m)&amp;nbsp;+&amp;nbsp;&amp;#39;:&amp;#39;&amp;nbsp;+&amp;nbsp;pad(s);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;FPS
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;frames++;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(Date.now()&amp;nbsp;-&amp;nbsp;lastFpsTime&amp;nbsp;&amp;gt;=&amp;nbsp;1000)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;currentFps&amp;nbsp;=&amp;nbsp;frames;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;frames&amp;nbsp;=&amp;nbsp;0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lastFpsTime&amp;nbsp;=&amp;nbsp;Date.now();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;document.getElementById(&amp;#39;fps&amp;#39;).textContent&amp;nbsp;=&amp;nbsp;currentFps&amp;nbsp;||&amp;nbsp;&amp;#39;--&amp;#39;;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;内存
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(performance.memory)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const&amp;nbsp;mb&amp;nbsp;=&amp;nbsp;(performance.memory.usedJSHeapSize&amp;nbsp;/&amp;nbsp;1048576).toFixed(1);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;document.getElementById(&amp;#39;mem&amp;#39;).textContent&amp;nbsp;=&amp;nbsp;mb&amp;nbsp;+&amp;nbsp;&amp;#39;&amp;nbsp;MB&amp;#39;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;requestAnimationFrame(tick);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;requestAnimationFrame(tick);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/script&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/pre&gt;&lt;h3&gt;打包配置要点&lt;/h3&gt;&lt;p&gt;使用上面的HTML打包时，需要在打包工具中做以下配置：&lt;/p&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;快速打包&lt;/strong&gt;页面：选择该HTML文件作为本地主文件&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;高级配置&lt;/strong&gt;页面：&lt;/p&gt;&lt;/li&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;✅ 勾选 &lt;strong&gt;无边框窗口&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;✅ 勾选 &lt;strong&gt;开启API支持&lt;/strong&gt;（用于窗口控制按钮）&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;✅ 勾选 &lt;strong&gt;置顶窗口&lt;/strong&gt;, 可以让整个html时钟始终显示在最前面&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;窗口大小建议设为 &lt;strong&gt;宽度 350&lt;/strong&gt;、&lt;strong&gt;高度 200&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;p&gt;内核选择 &lt;strong&gt;Chrome内核&lt;/strong&gt;（透明效果仅Chrome内核支持）&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3&gt;效果预览&lt;/h3&gt;&lt;p&gt;打包后运行效果如下，赛博朋克风格的时钟面板悬浮在桌面上，带有扫描线动画和霓虹灯光效果：&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://www.ylongsoft.com/zb_users/upload/2026/04/1777207289436_b9165fa8.png&quot; alt=&quot;透明窗口效果&quot;/&gt;&lt;/p&gt;&lt;h2&gt;进阶技巧&lt;/h2&gt;&lt;h3&gt;1. 只让部分区域可拖动&lt;/h3&gt;&lt;p&gt;如果只想让标题栏可拖动，其余区域正常交互：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-css&quot;&gt;/*&amp;nbsp;仅标题栏可拖动&amp;nbsp;*/
.title-bar&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-webkit-app-region:&amp;nbsp;drag;
}

/*&amp;nbsp;标题栏内的按钮排除拖动&amp;nbsp;*/
.title-bar&amp;nbsp;button&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-webkit-app-region:&amp;nbsp;no-drag;
}&lt;/pre&gt;&lt;h3&gt;2. 半透明磨砂背景&lt;/h3&gt;&lt;p&gt;可以在深色背景上使用 &lt;code&gt;rgba&lt;/code&gt; 和 &lt;code&gt;backdrop-filter&lt;/code&gt; 实现层叠的半透明磨砂效果：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-css&quot;&gt;.container&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;background:&amp;nbsp;rgba(255,&amp;nbsp;255,&amp;nbsp;255,&amp;nbsp;0.1);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;backdrop-filter:&amp;nbsp;blur(20px);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-webkit-backdrop-filter:&amp;nbsp;blur(20px);
}&lt;/pre&gt;&lt;h3&gt;3. 异形窗口效果&lt;/h3&gt;&lt;p&gt;利用 &lt;code&gt;border-radius&lt;/code&gt; 制作圆角甚至圆形窗口：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-css&quot;&gt;.card&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;border-radius:&amp;nbsp;20px;&amp;nbsp;/*&amp;nbsp;圆角矩形&amp;nbsp;*/
}

.circle-window&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;border-radius:&amp;nbsp;50%;&amp;nbsp;/*&amp;nbsp;圆形窗口&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;width:&amp;nbsp;300px;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;height:&amp;nbsp;300px;
}&lt;/pre&gt;&lt;h3&gt;4. 窗口阴影效果&lt;/h3&gt;&lt;p&gt;可以用CSS阴影为内部元素添加浮层感：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-css&quot;&gt;.card&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;box-shadow:&amp;nbsp;0&amp;nbsp;8px&amp;nbsp;32px&amp;nbsp;rgba(0,&amp;nbsp;0,&amp;nbsp;0,&amp;nbsp;0.15);
}&lt;/pre&gt;&lt;h2&gt;注意事项&lt;/h2&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;透明窗口效果&lt;strong&gt;仅Chrome内核支持&lt;/strong&gt;，IE内核不支持&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;勾选无边框窗口后，系统标题栏将被移除，请务必自行添加关闭按钮&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;透明区域可以穿透点击到桌面或下层窗口&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;使用 &lt;code&gt;-webkit-app-region: drag&lt;/code&gt; 的区域无法响应鼠标事件，交互元素需设为 &lt;code&gt;no-drag&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;建议搭配 &lt;strong&gt;开启API支持&lt;/strong&gt; 使用，方便调用窗口最小化、最大化、关闭等功能&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;相关阅读&lt;/h2&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://leapever.com/tutorial/html2exe-splash-screen-guide&quot;&gt;HTML打包EXE工具启动图设置教程&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://leapever.com/tutorial/html2exe-encrypt-tutorial&quot;&gt;HTML打包EXE工具加密功能教程&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://leapever.com/tutorial/html2exe-custom-menu-guide&quot;&gt;HTML打包EXE工具自定义菜单功能详解&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://leapever.com/tutorial/html2exe-tab-mode-guide&quot;&gt;HTML打包EXE工具标签页模式详解&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;</description><pubDate>Sun, 26 Apr 2026 20:41:30 +0800</pubDate></item><item><title>HTML打包EXE工具启动图设置 - 为打包程序添加启动画面</title><link>https://www.ylongsoft.com/post/html2exe-splash-screen-guide.html</link><description>&lt;p&gt;HTML打包EXE工具新增了&lt;strong&gt;启动图设置&lt;/strong&gt;功能，可以为打包生成的EXE程序添加启动画面（Splash Screen）。用户打开程序时，会先显示一张自定义图片，待主页面加载完成后自动关闭并显示主窗口。&lt;/p&gt;&lt;h2&gt;下载最新版本&lt;/h2&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://api.leapever.com/packerv2/download&quot;&gt;立即下载最新版本&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://leapever.com/intro/html2exe/&quot;&gt;HTML打包EXE工具官网&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;!-- truncate --&gt;&lt;h2&gt;功能入口&lt;/h2&gt;&lt;p&gt;在打包工具主界面切换到&lt;strong&gt;版权设置&lt;/strong&gt;标签页，在底部可以找到&lt;strong&gt;启动图设置&lt;/strong&gt;面板：&lt;/p&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;配置项&lt;/th&gt;&lt;th&gt;说明&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;启动图片&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;选择一张图片作为启动画面，支持 PNG、JPG、JPEG、BMP 格式。推荐使用PNG，支持透明背景&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;启动图宽度&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;设置启动图的显示宽度（像素），高度按比例自动计算。不填则使用图片原始尺寸&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h2&gt;使用方法&lt;/h2&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;点击&lt;strong&gt;选择图片&lt;/strong&gt;按钮，选择一张图片文件（PNG、JPG、JPEG、BMP）&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;可选填写&lt;strong&gt;启动图宽度&lt;/strong&gt;（正整数，单位像素），不填则使用原始尺寸&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;如需清除已选图片，点击&lt;strong&gt;清除&lt;/strong&gt;按钮即可&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;正常执行打包操作&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;打包后的EXE启动时，启动图会居中显示在屏幕上，主页面加载完成后自动关闭。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://www.ylongsoft.com/zb_users/upload/2026/04/1776949787555_616b1420.png&quot; alt=&quot;设置启动图&quot;/&gt;&lt;/p&gt;&lt;h2&gt;启动图特性&lt;/h2&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;无边框、透明背景（PNG透明区域直接透明）&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;屏幕居中、置顶显示&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;不在任务栏显示，不可拖动、不可调整大小&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;主页面加载完成后自动关闭&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;建议&lt;/strong&gt;：使用PNG格式图片，宽度建议 300-600 像素。不需要启动画面时，将图片路径留空即可。&lt;/p&gt;&lt;/blockquote&gt;&lt;h2&gt;相关阅读&lt;/h2&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://leapever.com/tutorial/html2exe-encrypt-tutorial&quot;&gt;HTML打包EXE工具加密功能教程&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://leapever.com/tutorial/html2exe-custom-menu-guide&quot;&gt;HTML打包EXE工具自定义菜单功能详解&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://leapever.com/tutorial/html2exe-tab-mode-guide&quot;&gt;HTML打包EXE工具标签页模式详解&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;</description><pubDate>Thu, 23 Apr 2026 21:09:47 +0800</pubDate></item><item><title>HTML打包EXE网络验证管理后台使用指南 - 激活码生成、管理与日志查看</title><link>https://www.ylongsoft.com/post//html2exe-network-validation-admin-guide.html</link><description>&lt;p&gt;网络验证管理后台是你管理激活码和用户的核心工具。本文将详细介绍后台各项功能的使用方法，帮助你快速上手。&lt;/p&gt;&lt;h2&gt;前提条件&lt;/h2&gt;&lt;p&gt;在开始之前，请确保：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;在HTML打包/EXE加密软件中, 网络验证配置已经完成（参考 &lt;a href=&quot;https://leapever.com/tutorial/html2exe-network-validation-setup-guide&quot;&gt;网络验证接入指南&lt;/a&gt;）&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;已通过打包/加密工具中的&lt;strong&gt;打开网络验证管理后台&lt;/strong&gt;按钮成功访问管理页面&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;!-- truncate --&gt;&lt;h2&gt;后台页面概览&lt;/h2&gt;&lt;p&gt;管理后台主要包含以下功能模块：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;生成激活码&lt;/strong&gt;：批量生成带有效期和使用限制的激活码&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;激活码管理&lt;/strong&gt;：查看、搜索、排序、删除、禁用/启用已生成的激活码&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;试用管理&lt;/strong&gt;：查看和管理试用用户的机器码记录&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;用户日志&lt;/strong&gt;：查看用户激活、登录等操作日志&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;页面底部有三个导航按钮，分别对应&lt;strong&gt;生成激活码&lt;/strong&gt;、&lt;strong&gt;激活码管理&lt;/strong&gt;和&lt;strong&gt;试用管理&lt;/strong&gt;。点击左上角 ☰ 菜单按钮可以切换到&lt;strong&gt;用户日志&lt;/strong&gt;页面。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://www.ylongsoft.com/zb_users/upload/2026/04/1776861640567_006196ea.png&quot; alt=&quot;界面&quot;/&gt;&lt;/p&gt;&lt;h2&gt;生成激活码&lt;/h2&gt;&lt;h3&gt;参数说明&lt;/h3&gt;&lt;p&gt;在生成激活码页面，你需要填写以下参数：&lt;/p&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;参数&lt;/th&gt;&lt;th&gt;说明&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;过期时间&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;激活码激活后的有效时长，支持 1小时 到 3年，也可选择永久或自定义分钟数&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;允许打开次数&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;用户软件允许打开的次数限制，设为 0 表示不限次数，范围 0-100000&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;生成数目&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;一次批量生成的激活码数量，范围 1-100&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;App ID&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;用于区分不同软件的标识，仅支持字母和数字，不超过 20 个字符。不填则默认使用 &lt;code&gt;id1&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;介绍信息&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;选填的备注信息，不超过 5 个字符，方便你在管理时识别不同批次的激活码&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h3&gt;生成步骤&lt;/h3&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;在&lt;strong&gt;过期时间&lt;/strong&gt;下拉框中选择合适的有效期，如需自定义可选择&amp;quot;自定义&amp;quot;后手动输入分钟数&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;设置&lt;strong&gt;允许打开次数&lt;/strong&gt;（0 为不限）&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;输入&lt;strong&gt;生成数目&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;填写 &lt;strong&gt;App ID&lt;/strong&gt;（需要与打包时设置的 App ID 一致）&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;可选填写&lt;strong&gt;介绍信息&lt;/strong&gt;作为备注&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;点击&lt;strong&gt;生成激活码&lt;/strong&gt;按钮&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;生成成功后会弹出激活码结果窗口，点击&lt;strong&gt;复制激活码&lt;/strong&gt;按钮即可一键复制所有生成的激活码，方便分发给用户。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://www.ylongsoft.com/zb_users/upload/2026/04/1776861640978_92c930cf.png&quot; alt=&quot;激活码生成&quot;/&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;提示&lt;/strong&gt;：App ID 必须与打包 EXE 时填写的 App ID 保持一致，否则用户激活时会验证失败。不同的软件建议使用不同的 App ID。&lt;/p&gt;&lt;/blockquote&gt;&lt;h2&gt;激活码管理&lt;/h2&gt;&lt;p&gt;点击底部导航栏的&lt;strong&gt;激活码管理&lt;/strong&gt;按钮，进入激活码管理页面。首次进入时会自动加载所有已生成的激活码列表。&lt;/p&gt;&lt;h3&gt;激活码信息&lt;/h3&gt;&lt;p&gt;&lt;img src=&quot;https://www.ylongsoft.com/zb_users/upload/2026/04/1776861641235_897b6876.png&quot; alt=&quot;查看激活码&quot;/&gt;&lt;/p&gt;&lt;p&gt;每个激活码卡片会显示以下信息：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;激活码&lt;/strong&gt;：激活码内容，已禁用的激活码会显示删除线和红色&amp;quot;(被禁用)&amp;quot;标记&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;使用状态&lt;/strong&gt;：显示&amp;quot;已使用&amp;quot;或&amp;quot;未使用&amp;quot;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;介绍信息&lt;/strong&gt;：生成时填写的备注&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;软件 ID&lt;/strong&gt;：对应的 App ID&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;创建时间&lt;/strong&gt;：激活码的创建时间&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;有效时长&lt;/strong&gt;：激活码的有效期&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;软件允许打开次数&lt;/strong&gt;：打开次数限制，0 为无限次&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;激活时间&lt;/strong&gt;：（已使用的激活码）用户激活的时间&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;机器码&lt;/strong&gt;：（已使用的激活码）绑定的用户机器码&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;已过期或超出使用次数的激活码，卡片背景会变为灰色，方便区分。&lt;/p&gt;&lt;h3&gt;搜索激活码&lt;/h3&gt;&lt;p&gt;在页面顶部的搜索框中输入关键词，可以实时过滤激活码列表。支持按激活码内容、App ID、机器码、介绍信息等进行搜索。&lt;/p&gt;&lt;h3&gt;排序激活码&lt;/h3&gt;&lt;p&gt;点击搜索框旁边的排序下拉框，可以选择以下排序方式：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;创建时间&lt;/strong&gt;：按创建时间从新到旧排序&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;使用情况&lt;/strong&gt;：未使用的排在前面&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;状态&lt;/strong&gt;：未禁用的排在前面&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;操作激活码&lt;/h3&gt;&lt;p&gt;每个激活码卡片底部提供以下操作按钮：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;删除&lt;/strong&gt;：永久删除该激活码，删除后无法恢复&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;复制激活码&lt;/strong&gt;：复制该激活码到剪贴板&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;禁用 / 启用&lt;/strong&gt;：禁用后该激活码将无法使用，用户打开软件时验证会失败；启用后恢复正常&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;注意&lt;/strong&gt;：删除激活码是不可逆操作，请谨慎使用。如果只是想暂时阻止某个用户使用，建议使用&lt;strong&gt;禁用&lt;/strong&gt;功能。&lt;/p&gt;&lt;/blockquote&gt;&lt;h3&gt;刷新列表&lt;/h3&gt;&lt;p&gt;点击搜索框右侧的 🔄 按钮可以重新加载激活码列表，获取最新数据。&lt;/p&gt;&lt;h2&gt;试用管理&lt;/h2&gt;&lt;p&gt;点击底部导航栏的&lt;strong&gt;试用管理&lt;/strong&gt;按钮，进入试用机器码管理页面。&lt;/p&gt;&lt;p&gt;如果你在打包时设置了允许试用次数，用户在未输入激活码的情况下可以试用软件。每台机器的试用次数会被记录。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://www.ylongsoft.com/zb_users/upload/2026/04/1776861641467_f4e86eea.png&quot; alt=&quot;查看试用情况&quot;/&gt;&lt;/p&gt;&lt;h3&gt;试用信息&lt;/h3&gt;&lt;p&gt;每条试用记录显示以下信息：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;机器码标识&lt;/strong&gt;：用户机器码与 App ID 的组合标识&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;试用次数&lt;/strong&gt;：已用试用次数 / 最大试用次数&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;首次试用时间&lt;/strong&gt;：该机器第一次试用的时间&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;删除试用记录&lt;/h3&gt;&lt;p&gt;点击&lt;strong&gt;删除&lt;/strong&gt;按钮可以删除某条试用记录。删除后，该机器码的试用次数将被重置，用户可以重新开始试用。&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;提示&lt;/strong&gt;：如果某个用户反馈试用次数用完了，你可以在这里删除对应的记录，让用户重新获得试用机会。&lt;/p&gt;&lt;/blockquote&gt;&lt;h2&gt;用户日志&lt;/h2&gt;&lt;p&gt;点击左上角 ☰ 菜单按钮，在侧边栏中选择&lt;strong&gt;用户日志&lt;/strong&gt;，可以查看所有用户的操作日志。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://www.ylongsoft.com/zb_users/upload/2026/04/1776861641706_f19c7d48.png&quot; alt=&quot;用户日志&quot;/&gt;&lt;/p&gt;&lt;h3&gt;日志信息&lt;/h3&gt;&lt;p&gt;每条日志记录包含：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;日志标题&lt;/strong&gt;：操作类型（如激活、验证等）&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;IP 地址&lt;/strong&gt;：用户的 IP 地址&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;信息&lt;/strong&gt;：日志描述&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;时间&lt;/strong&gt;：操作发生的时间&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;是否为错误&lt;/strong&gt;：标记该日志是否为错误日志&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;详细信息&lt;/strong&gt;：完整的日志数据&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;img src=&quot;https://www.ylongsoft.com/zb_users/upload/2026/04/1776861641886_1c3221d4.png&quot; alt=&quot;日志信息&quot;/&gt;&lt;/p&gt;&lt;h3&gt;搜索日志&lt;/h3&gt;&lt;p&gt;在搜索框中输入关键词可以实时过滤日志列表，支持按 IP 地址、日志信息等进行搜索。&lt;/p&gt;&lt;h2&gt;手机访问&lt;/h2&gt;&lt;p&gt;点击顶部导航栏右侧的 📱 按钮，会弹出当前管理页面的二维码。用手机扫描该二维码即可在手机上访问管理后台，方便在没有电脑时随时管理激活码。&lt;/p&gt;&lt;h2&gt;常见问题&lt;/h2&gt;&lt;h3&gt;生成的激活码在哪里查看？&lt;/h3&gt;&lt;p&gt;生成成功后会弹出结果窗口，可以直接复制。之后也可以在&lt;strong&gt;激活码管理&lt;/strong&gt;页面查看所有已生成的激活码。&lt;/p&gt;&lt;h3&gt;禁用和删除激活码有什么区别？&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;禁用&lt;/strong&gt;是临时操作，可以随时恢复启用；&lt;strong&gt;删除&lt;/strong&gt;是永久操作，删除后激活码无法恢复。如果只是想暂时阻止用户使用，建议使用禁用功能。&lt;/p&gt;&lt;h3&gt;用户的激活码过期了怎么办？&lt;/h3&gt;&lt;p&gt;你需要为用户生成一个新的激活码。过期的激活码无法续期，用户需要使用新的激活码重新激活。&lt;/p&gt;&lt;h3&gt;一个激活码可以在多台电脑上使用吗？&lt;/h3&gt;&lt;p&gt;不可以。激活码激活时会绑定用户的机器码，只能在一台机器上使用。如果用户更换了电脑，需要提供新的激活码。&lt;/p&gt;&lt;h3&gt;App ID 填错了会怎样？&lt;/h3&gt;&lt;p&gt;如果管理后台生成激活码时填写的 App ID 与打包 EXE 时设置的 App ID 不一致，用户激活时会验证失败。请确保两端的 App ID 完全一致。&lt;/p&gt;&lt;h2&gt;相关阅读&lt;/h2&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://leapever.com/tutorial/html2exe-network-validation-setup-guide&quot;&gt;网络验证接入指南&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://leapever.com/intro/html2exe/docs/network-validation&quot;&gt;网络验证功能说明&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://leapever.com/tutorial/offline-vs-network-verification&quot;&gt;离线一机一码验证和网络验证的区别&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://leapever.com/tutorial/html2exe-encrypt-tutorial&quot;&gt;HTML打包EXE工具加密功能教程&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;</description><pubDate>Wed, 22 Apr 2026 20:40:41 +0800</pubDate></item><item><title>HTML打包快速配置使用网络验证后台</title><link>https://www.ylongsoft.com/post//html2exe-network-validation-setup-guide.html</link><description>&lt;p&gt;网络验证通过后台服务器完成用户授权的一种方式。用户输入激活码后，服务器负责验证授权信息，验证通过后软件即可使用。具体流程比较简单, 首先开发者预生成激活码，并提供给用户; 用户输入激活码，连接至服务器验证; 验证通过后激活软件，完成授权。&lt;/p&gt;&lt;p&gt;如果您想了解更多关于网络验证的内容, 可以查看这篇的文章: &lt;a href=&quot;https://leapever.com/intro/html2exe/docs/network-validation&quot;&gt;网络验证教程&lt;/a&gt;&lt;/p&gt;&lt;p&gt;本文介绍如何在HTML打包EXE工具中快速配置接入网络验证功能&lt;/p&gt;&lt;h2&gt;下载最新版本&lt;/h2&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://api.leapever.com/packerv2/download&quot;&gt;立即下载最新版本&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://leapever.com/intro/html2exe/&quot;&gt;HTML打包EXE工具官网&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;!-- truncate --&gt;&lt;h2&gt;前提条件&lt;/h2&gt;&lt;p&gt;在开始之前，请确保：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;已购买网络验证服务, &lt;a href=&quot;https://leapever.com/purchase/network-validation&quot;&gt;立即购买网络验证&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;已收到购买成功后返回的&lt;strong&gt;后台地址&lt;/strong&gt;和&lt;strong&gt;密钥&lt;/strong&gt;信息&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;已安装最新版本的 HTML打包EXE 工具&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;购买后获取到的信息&lt;/h2&gt;&lt;p&gt;网络验证服务购买成功后, 您会收到如下格式的两行信息：&lt;/p&gt;&lt;pre&gt;网络验证后台地址:&amp;nbsp;leapeverurl_xxxxxxxx
后台密钥:&amp;nbsp;leapeverkey_xxxxxxxx&lt;/pre&gt;&lt;blockquote&gt;&lt;p&gt;请妥善保管这两行信息，它们是你专属的网络验证凭证。同一个账号购买后，后台地址始终相同，续费后原有数据（已生成的激活码等）不会丢失。&lt;/p&gt;&lt;/blockquote&gt;&lt;h2&gt;配置步骤&lt;/h2&gt;&lt;h3&gt;第一步：打开网络验证配置页面&lt;/h3&gt;&lt;p&gt;在打包工具主界面，点击左侧&lt;strong&gt;网络验证&lt;/strong&gt;标签页，进入网络验证配置页面。勾选上启用一机一码网络验证&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://www.ylongsoft.com/zb_users/upload/2026/04/1776777571028_3c2c2c37.png&quot; alt=&quot;网络验证配置页面&quot;/&gt;&lt;/p&gt;&lt;h3&gt;第二步：填写后台地址&lt;/h3&gt;&lt;p&gt;将收到的 &lt;code&gt;leapeverurl_xxxxxxxx&lt;/code&gt; 完整粘贴到&lt;strong&gt;网络验证后台地址&lt;/strong&gt;输入框中。&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;注意：请完整粘贴整行内容（包括 &lt;code&gt;leapeverurl_&lt;/code&gt; 前缀），不要手动修改。&lt;/p&gt;&lt;/blockquote&gt;&lt;h3&gt;第三步：填写后台密钥&lt;/h3&gt;&lt;p&gt;将收到的 &lt;code&gt;leapeverkey_xxxxxxxx&lt;/code&gt; 完整粘贴到&lt;strong&gt;后台密钥&lt;/strong&gt;输入框中。&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;同样，请完整粘贴整行内容（包括 &lt;code&gt;leapeverkey_&lt;/code&gt; 前缀），不要手动修改。&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;img src=&quot;https://www.ylongsoft.com/zb_users/upload/2026/04/1776777571497_9fc0dff6.png&quot; alt=&quot;填写密钥&quot;/&gt;&lt;/p&gt;&lt;h3&gt;第四步：验证配置&lt;/h3&gt;&lt;p&gt;点击&lt;strong&gt;打开网络验证管理后台&lt;/strong&gt;按钮，如果配置正确，会直接打开你的专属管理后台页面，无需等待网络请求。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://www.ylongsoft.com/zb_users/upload/2026/04/1776777571829_9211dc5f.png&quot; alt=&quot;打开管理后台&quot;/&gt;&lt;/p&gt;&lt;p&gt;配置正确后，你可以在管理后台中生成、管理激活码。&lt;/p&gt;&lt;h3&gt;第五步：设置 APP ID, 使用次数, 弹窗信息&lt;/h3&gt;&lt;p&gt;可以设置一个 APP ID 用于区分不同的软件，例如 &lt;code&gt;myapp1&lt;/code&gt;。不同的软件建议使用不同的 APP ID。允许试用次数和激活弹窗信息可以根据需求进行填写&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://www.ylongsoft.com/zb_users/upload/2026/04/1776777572011_f0c9e9fe.png&quot; alt=&quot;其他信息&quot;/&gt;&lt;/p&gt;&lt;h3&gt;第六步：打包&lt;/h3&gt;&lt;p&gt;返回首页，点击&lt;strong&gt;打包&lt;/strong&gt;按钮，即可生成带有网络验证功能的 EXE 文件。&lt;/p&gt;&lt;h2&gt;生成激活码&lt;/h2&gt;&lt;h3&gt;第一步：打开管理后台&lt;/h3&gt;&lt;p&gt;在网络验证配置页面，点击&lt;strong&gt;打开网络验证管理后台&lt;/strong&gt;按钮。&lt;/p&gt;&lt;h3&gt;第二步：生成激活码&lt;/h3&gt;&lt;p&gt;在管理后台中，输入打包时使用的 APP ID，设置激活码参数（有效期、绑定次数等），点击&lt;strong&gt;生成激活码&lt;/strong&gt;按钮。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://www.ylongsoft.com/zb_users/upload/2026/04/1776777572293_d676793e.png&quot; alt=&quot;生成激活码&quot;/&gt;&lt;/p&gt;&lt;h3&gt;第三步：分发激活码&lt;/h3&gt;&lt;p&gt;将生成的激活码发送给你的用户，用户在打开软件时输入激活码即可完成激活。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://www.ylongsoft.com/zb_users/upload/2026/04/1776777572482_5b5649e1.png&quot; alt=&quot;需要激活输入框&quot;/&gt;&lt;/p&gt;&lt;h2&gt;用户激活流程&lt;/h2&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;用户首次打开带有网络验证的 EXE 软件，会弹出激活窗口&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;用户输入收到的激活码&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;软件连接后台验证激活码并绑定当前机器&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;验证通过后软件正常运行&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;续费说明&lt;/h2&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;网络验证服务到期后，&lt;strong&gt;已激活的用户不受影响&lt;/strong&gt;，可以继续正常使用软件&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;到期后将无法通过管理后台生成新的激活码、管理激活码&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;续费后使用相同账号购买即可，原有数据自动恢复，无需重新配置&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;常见问题&lt;/h2&gt;&lt;h3&gt;后台地址和密钥可以分享给别人吗？&lt;/h3&gt;&lt;p&gt;可以分享, 但不建议。后台地址和密钥是你专属的管理凭证，分享后他人可以管理你的全部激活码。&lt;/p&gt;&lt;h3&gt;填写后点击打开管理后台没有反应？&lt;/h3&gt;&lt;p&gt;请检查是否完整粘贴了后台地址和密钥，包括 &lt;code&gt;leapeverurl_&lt;/code&gt; 和 &lt;code&gt;leapeverkey_&lt;/code&gt; 前缀部分。如果手动修改了内容，可能导致解析失败。&lt;/p&gt;&lt;h3&gt;可以在多台电脑上使用同一组后台地址和密钥吗？&lt;/h3&gt;&lt;p&gt;可以。后台地址和密钥与你的账号绑定，可以在不同的电脑上使用同一组凭证进行打包和管理。&lt;/p&gt;&lt;h3&gt;更换电脑后需要重新购买吗？&lt;/h3&gt;&lt;p&gt;不需要。只需将后台地址和密钥复制到新电脑的打包工具中即可。&lt;/p&gt;&lt;h2&gt;相关阅读&lt;/h2&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://leapever.com/intro/html2exe/docs/network-validation&quot;&gt;网络验证功能说明&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://leapever.com/tutorial/offline-vs-network-verification&quot;&gt;离线一机一码验证和网络验证的区别&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://leapever.com/tutorial/html2exe-encrypt-tutorial&quot;&gt;HTML打包EXE工具加密功能教程&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://leapever.com/tutorial/html-pack-exe-function-introduction&quot;&gt;HTML打包EXE工具功能介绍&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;</description><pubDate>Tue, 21 Apr 2026 21:19:34 +0800</pubDate></item><item><title>HTML打包EXE工具自定义菜单功能详解 - 为打包程序添加个性化菜单栏</title><link>https://www.ylongsoft.com/post//html2exe-custom-menu-guide.html</link><description>&lt;p&gt;HTML打包EXE工具提供了&lt;strong&gt;自定义菜单&lt;/strong&gt;功能，能够为打包生成的EXE程序添加个性化的菜单栏。通过这一功能，您可以在程序窗口顶部添加自定义菜单，引导用户访问帮助文档、官方网站，或显示软件版本、联系方式等提示信息。&lt;/p&gt;&lt;h2&gt;下载最新版本&lt;/h2&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://api.leapever.com/packerv2/download&quot;&gt;立即下载最新版本&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://leapever.com/intro/html2exe/&quot;&gt;HTML打包EXE工具官网&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;!-- truncate --&gt;&lt;h2&gt;什么是自定义菜单功能？&lt;/h2&gt;&lt;p&gt;默认情况下，HTML打包EXE工具生成的EXE程序没有菜单栏。对于一些需要提供帮助入口、版本信息或其他快捷链接的应用场景，自定义菜单功能可以满足这一需求。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;自定义菜单功能&lt;/strong&gt;开启后，打包生成的EXE程序窗口顶部会显示一个菜单栏，您可以：&lt;/p&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;配置项&lt;/th&gt;&lt;th&gt;说明&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;菜单数量&lt;/td&gt;&lt;td&gt;最多可配置 &lt;strong&gt;3个&lt;/strong&gt; 顶级菜单&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;子项数量&lt;/td&gt;&lt;td&gt;每个菜单最多可配置 &lt;strong&gt;3个&lt;/strong&gt; 子项&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;链接类型&lt;/td&gt;&lt;td&gt;点击后在系统浏览器中打开指定网址&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;提示信息类型&lt;/td&gt;&lt;td&gt;点击后弹出提示框显示自定义信息&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;自定义菜单让您的打包程序更加专业，用户可以方便地获取帮助或了解软件信息。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://www.ylongsoft.com/zb_users/upload/2026/04/1776689235231_48a91cf5.png&quot; alt=&quot;自定义菜单设置位置&quot;/&gt;&lt;/p&gt;&lt;h2&gt;功能入口&lt;/h2&gt;&lt;p&gt;在打包工具主界面切换到&lt;strong&gt;高级配置&lt;/strong&gt;标签页，找到&lt;strong&gt;自定义菜单&lt;/strong&gt;选项：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;自定义菜单&lt;/strong&gt;：勾选后启用自定义菜单功能&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;配置菜单&lt;/strong&gt;：点击按钮打开菜单配置对话框&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;blockquote&gt;&lt;p&gt;注意：自定义菜单功能&lt;strong&gt;仅Chrome内核支持&lt;/strong&gt;，使用IE内核或其他内核时该选项可能不生效。&lt;/p&gt;&lt;/blockquote&gt;&lt;h2&gt;配置菜单&lt;/h2&gt;&lt;p&gt;点击&lt;strong&gt;配置菜单&lt;/strong&gt;按钮后，会弹出菜单配置对话框：&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://www.ylongsoft.com/zb_users/upload/2026/04/1776689235709_30ef1c3b.png&quot; alt=&quot;菜单配置对话框&quot;/&gt;&lt;/p&gt;&lt;h3&gt;配置项说明&lt;/h3&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;配置项&lt;/th&gt;&lt;th&gt;说明&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;菜单名称&lt;/td&gt;&lt;td&gt;显示在菜单栏上的文字，例如&amp;quot;帮助&amp;quot;、&amp;quot;关于&amp;quot;等&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;子项标签&lt;/td&gt;&lt;td&gt;菜单展开后显示的选项文字，例如&amp;quot;查看文档&amp;quot;、&amp;quot;访问官网&amp;quot;等&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;子项类型&lt;/td&gt;&lt;td&gt;&lt;strong&gt;链接&lt;/strong&gt;：点击后打开网址；&lt;strong&gt;提示&lt;/strong&gt;：点击后弹出提示框&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;子项值&lt;/td&gt;&lt;td&gt;链接类型填写网址（需以http或https开头）；提示类型填写要显示的提示信息&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h3&gt;配置步骤&lt;/h3&gt;&lt;h4&gt;第一步：勾选启用自定义菜单&lt;/h4&gt;&lt;p&gt;在&lt;strong&gt;高级配置&lt;/strong&gt;标签页中，勾选&lt;strong&gt;自定义菜单&lt;/strong&gt;复选框。&lt;/p&gt;&lt;h4&gt;第二步：点击配置菜单按钮&lt;/h4&gt;&lt;p&gt;点击&lt;strong&gt;配置菜单&lt;/strong&gt;按钮，打开菜单配置对话框。&lt;/p&gt;&lt;h4&gt;第三步：填写菜单信息&lt;/h4&gt;&lt;ol class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;菜单名称&lt;/strong&gt;：填写菜单在菜单栏上显示的名称，例如&amp;quot;帮助&amp;quot;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;添加子项&lt;/strong&gt;：点击&amp;quot;添加子项&amp;quot;按钮添加菜单项&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;子项标签&lt;/strong&gt;：填写菜单项显示的文字，例如&amp;quot;查看帮助文档&amp;quot;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;选择类型&lt;/strong&gt;：选择&amp;quot;链接&amp;quot;或&amp;quot;提示&amp;quot;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;填写值&lt;/strong&gt;：&lt;/p&gt;&lt;/li&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;链接类型：填写网址，例如 &lt;code&gt;https://leapever.com&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;提示类型：填写提示信息，例如&amp;quot;版本 1.0.0&amp;quot;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ol&gt;&lt;h4&gt;第四步：添加更多菜单（可选）&lt;/h4&gt;&lt;p&gt;如需添加更多菜单，点击对话框底部的&lt;strong&gt;添加菜单&lt;/strong&gt;按钮，最多可添加3个菜单。&lt;/p&gt;&lt;h4&gt;第五步：保存配置&lt;/h4&gt;&lt;p&gt;配置完成后点击&lt;strong&gt;保存&lt;/strong&gt;按钮保存菜单配置。&lt;/p&gt;&lt;h2&gt;使用示例&lt;/h2&gt;&lt;h3&gt;示例一：帮助菜单&lt;/h3&gt;&lt;p&gt;为软件添加一个&amp;quot;帮助&amp;quot;菜单，包含文档链接和版本信息：&lt;/p&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;菜单名称&lt;/th&gt;&lt;th&gt;子项标签&lt;/th&gt;&lt;th&gt;类型&lt;/th&gt;&lt;th&gt;值&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;帮助&lt;/td&gt;&lt;td&gt;查看帮助文档&lt;/td&gt;&lt;td&gt;链接&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://leapever.com/intro/html2exe/docs/intro&quot;&gt;https://leapever.com/intro/html2exe/docs/intro&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;br/&gt;&lt;/td&gt;&lt;td&gt;访问官网&lt;/td&gt;&lt;td&gt;链接&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://leapever.com&quot;&gt;https://leapever.com&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;br/&gt;&lt;/td&gt;&lt;td&gt;关于软件&lt;/td&gt;&lt;td&gt;提示&lt;/td&gt;&lt;td&gt;我的软件 v1.0.0 版权所有&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h3&gt;示例二：联系方式菜单&lt;/h3&gt;&lt;p&gt;为软件添加一个&amp;quot;联系我们&amp;quot;菜单：&lt;/p&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;菜单名称&lt;/th&gt;&lt;th&gt;子项标签&lt;/th&gt;&lt;th&gt;类型&lt;/th&gt;&lt;th&gt;值&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;联系我们&lt;/td&gt;&lt;td&gt;技术支持&lt;/td&gt;&lt;td&gt;链接&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://leapever.com&quot;&gt;https://leapever.com&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;br/&gt;&lt;/td&gt;&lt;td&gt;反馈建议&lt;/td&gt;&lt;td&gt;链接&lt;/td&gt;&lt;td&gt;&lt;a href=&quot;https://leapever.com&quot;&gt;https://leapever.com&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;br/&gt;&lt;/td&gt;&lt;td&gt;联系方式&lt;/td&gt;&lt;td&gt;提示&lt;/td&gt;&lt;td&gt;Email: xxx&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h2&gt;运行效果&lt;/h2&gt;&lt;p&gt;打包完成后运行EXE，菜单栏会显示在窗口顶部：&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://www.ylongsoft.com/zb_users/upload/2026/04/1776689236124_b146e7a7.png&quot; alt=&quot;自定义菜单运行效果&quot;/&gt;&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;点击菜单名称会展开显示所有子项&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;点击链接类型的子项会在系统默认浏览器中打开对应网址&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;点击提示类型的子项会弹出对话框显示提示信息&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;使用注意事项&lt;/h2&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;菜单名称必填&lt;/strong&gt;：如果菜单有子项但没有填写菜单名称，该菜单不会生效&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;子项标签和值必须同时填写&lt;/strong&gt;：如果只填写标签或只填写值，该子项不会生效&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;链接必须以http/https开头&lt;/strong&gt;：链接类型的子项值必须是完整的网址&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;最多3个菜单&lt;/strong&gt;：每个打包项目最多可配置3个顶级菜单&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;每个菜单最多3个子项&lt;/strong&gt;：每个菜单最多可添加3个子项&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;仅Chrome内核完整支持&lt;/strong&gt;：使用Chrome内核打包时自定义菜单功能最为完善&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;适用场景&lt;/h2&gt;&lt;p&gt;自定义菜单功能特别适合以下场景：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;软件帮助入口&lt;/strong&gt;：为用户提供快速访问帮助文档的途径&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;品牌宣传&lt;/strong&gt;：添加官网链接，方便用户了解更多产品&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;版本信息展示&lt;/strong&gt;：通过提示类型显示软件版本、版权信息等&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;技术支持入口&lt;/strong&gt;：添加技术支持、反馈渠道等链接&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;商业软件&lt;/strong&gt;：为付费软件添加授权信息、续费链接等&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;与其他功能配合使用&lt;/h2&gt;&lt;p&gt;自定义菜单功能可以与以下功能配合使用，打造更专业的桌面应用：&lt;/p&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://leapever.com/tutorial/html2exe-data-encryption-guide&quot;&gt;数据加密功能&lt;/a&gt;：保护前端源码&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://leapever.com/tutorial/html-pack-exe-function-introduction&quot;&gt;版权设置&lt;/a&gt;：设置软件版本、公司信息等&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://leapever.com/tutorial/html2exe-tab-mode-guide&quot;&gt;标签页模式&lt;/a&gt;：支持多标签页浏览&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://leapever.com/tutorial/html2exe-window-mode-guide&quot;&gt;窗口模式设置&lt;/a&gt;：控制新窗口打开方式&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;相关阅读&lt;/h2&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://leapever.com/tutorial/html-pack-exe-function-introduction&quot;&gt;HTML打包EXE工具功能介绍&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://leapever.com/tutorial/html2exe-encrypt-tutorial&quot;&gt;HTML打包EXE工具加密功能教程&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://leapever.com/tutorial/html2exe-tab-mode-guide&quot;&gt;HTML打包EXE工具标签页模式详解&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://leapever.com/tutorial/html-packaging-webview2-vs-chrome&quot;&gt;HTML打包工具Chrome内核 vs WebView2内核对比&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;</description><pubDate>Mon, 20 Apr 2026 20:47:16 +0800</pubDate></item><item><title>HTML一键打包EXE工具 API 完整参考（窗口、存储、文件、串口等）</title><link>https://www.ylongsoft.com/post/htmlpackhelper-api-reference.html</link><description>&lt;h1&gt;API 参考&lt;/h1&gt;&lt;p&gt;提示: 在使用HTML一键打包EXE工具提供的API之前, 您需要在打包时的高级配置页面勾选上&lt;code&gt;开启API支持&lt;/code&gt;, 如下图所示:&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://www.ylongsoft.com/zb_users/upload/2026/04/1776568875940_886f2c87.png&quot; alt=&quot;alt text&quot;/&gt;:::&lt;/p&gt;&lt;h2&gt;机器码API&lt;/h2&gt;&lt;p&gt;机器码API可以用于实现自己的认证逻辑&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-js&quot;&gt;window.HTMLPackHelper.machineCode;&lt;/pre&gt;&lt;h2&gt;窗口控制API&lt;/h2&gt;&lt;h3&gt;最大化窗口&lt;/h3&gt;&lt;pre class=&quot;prism-highlight prism-language-js&quot;&gt;window.HTMLPackHelper.maximize();&lt;/pre&gt;&lt;h3&gt;最小化窗口&lt;/h3&gt;&lt;pre class=&quot;prism-highlight prism-language-js&quot;&gt;window.HTMLPackHelper.minimize();&lt;/pre&gt;&lt;h3&gt;恢复窗口大小&lt;/h3&gt;&lt;pre class=&quot;prism-highlight prism-language-js&quot;&gt;window.HTMLPackHelper.restore();&lt;/pre&gt;&lt;h3&gt;关闭应用&lt;/h3&gt;&lt;pre class=&quot;prism-highlight prism-language-js&quot;&gt;window.HTMLPackHelper.close();&lt;/pre&gt;&lt;h3&gt;切换全屏状态API&lt;/h3&gt;&lt;pre class=&quot;prism-highlight prism-language-js&quot;&gt;window.HTMLPackHelper.toggleFullscreen();&lt;/pre&gt;&lt;h2&gt;返回主页API&lt;/h2&gt;&lt;pre class=&quot;prism-highlight prism-language-js&quot;&gt;window.HTMLPackHelper.backToHomePage();&lt;/pre&gt;&lt;h2&gt;打开运行本地文件API&lt;/h2&gt;&lt;pre class=&quot;prism-highlight prism-language-js&quot;&gt;window.HTMLPackHelper.open(path);&lt;/pre&gt;&lt;p&gt;其中path为本地文件路径,支持相对路径和绝对路径&lt;/p&gt;&lt;p&gt;例如:&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-js&quot;&gt;window.HTMLPackHelper.open(&amp;#39;C:/Windows/notepad.exe&amp;#39;);&amp;nbsp;//打开记事本
window.HTMLPackHelper.open(&amp;#39;my.docx&amp;#39;);&amp;nbsp;//打开exe所在目录的my.docx文件&lt;/pre&gt;&lt;h2&gt;打开调试窗口&lt;/h2&gt;&lt;pre class=&quot;prism-highlight prism-language-js&quot;&gt;window.HTMLPackHelper.openDebug();&lt;/pre&gt;&lt;h2&gt;本地存储API&lt;/h2&gt;&lt;h3&gt;获取当前存储数据的大小(单位字节)&lt;/h3&gt;&lt;pre class=&quot;prism-highlight prism-language-js&quot;&gt;window.HTMLPackHelper.getStorageSize();&lt;/pre&gt;&lt;h3&gt;获取数据&lt;/h3&gt;&lt;pre class=&quot;prism-highlight prism-language-js&quot;&gt;window.HTMLPackHelper.get(key);&amp;nbsp;//&amp;nbsp;key为字符串&lt;/pre&gt;&lt;h3&gt;写入数据&lt;/h3&gt;&lt;pre class=&quot;prism-highlight prism-language-js&quot;&gt;window.HTMLPackHelper.set(key,&amp;nbsp;value);&amp;nbsp;//key为字符串,value为要保存的字符串的值&lt;/pre&gt;&lt;h3&gt;清除所有数据&lt;/h3&gt;&lt;pre class=&quot;prism-highlight prism-language-js&quot;&gt;window.HTMLPackHelper.clear();&lt;/pre&gt;&lt;h2&gt;获取剪切板字符串API&lt;/h2&gt;&lt;pre class=&quot;prism-highlight prism-language-js&quot;&gt;window.HTMLPackHelper.getClipboardString();&amp;nbsp;//返回剪切板的字符串&lt;/pre&gt;&lt;h2&gt;闪烁窗口API:&lt;/h2&gt;&lt;h3&gt;开始闪烁：&lt;/h3&gt;&lt;pre class=&quot;prism-highlight prism-language-js&quot;&gt;window.HTMLPackHelper.flashWindow();&lt;/pre&gt;&lt;h3&gt;停止闪烁：&lt;/h3&gt;&lt;pre class=&quot;prism-highlight prism-language-js&quot;&gt;window.HTMLPackHelper.stopFlashWindow();&lt;/pre&gt;&lt;h2&gt;清理缓存API:&lt;/h2&gt;&lt;pre class=&quot;prism-highlight prism-language-js&quot;&gt;window.HTMLPackHelper.clearAllCache();&lt;/pre&gt;&lt;h2&gt;关闭计算机API&lt;/h2&gt;&lt;pre class=&quot;prism-highlight prism-language-js&quot;&gt;window.HTMLPackHelper.shutdownSystem();&amp;nbsp;//&amp;nbsp;调用后可以关闭电脑&lt;/pre&gt;&lt;h2&gt;获取唯一机器码:&lt;/h2&gt;&lt;pre class=&quot;prism-highlight prism-language-js&quot;&gt;window.HTMLPackHelper.getUniqueMachineCode();&amp;nbsp;//调用后可获取唯一机器码，相比机器码API更加稳定&lt;/pre&gt;&lt;h2&gt;浏览器打开网址API：&lt;/h2&gt;&lt;pre class=&quot;prism-highlight prism-language-js&quot;&gt;window.HTMLPackHelper.openUrlInBrowser(&amp;#39;https://cn.bing.com&amp;#39;);&lt;/pre&gt;&lt;h2&gt;退出回调API:&lt;/h2&gt;&lt;pre class=&quot;prism-highlight prism-language-js&quot;&gt;window.HTMLPackHelper.onQuit&amp;nbsp;=&amp;nbsp;()&amp;nbsp;=&amp;gt;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;你的业务逻辑
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;return&amp;nbsp;false:&amp;nbsp;处理完成后不关闭程序
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;return&amp;nbsp;true:&amp;nbsp;处理完成后关闭程序
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;false;
};&lt;/pre&gt;&lt;h2&gt;获取Mac地址API:&lt;/h2&gt;&lt;p&gt;打包的时候勾选启用API, 然后在HTML页面里，即可获取电脑的Mac地址信息：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-js&quot;&gt;//&amp;nbsp;返回结果类似&amp;nbsp;0b:00:28:00:00:0c
window.HTMLPackHelper.getMac();&lt;/pre&gt;&lt;h2&gt;串口通信API:&lt;/h2&gt;&lt;p&gt;获取SerialPort类示例代码如下：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-js&quot;&gt;const&amp;nbsp;SerialPort&amp;nbsp;=&amp;nbsp;HTMLPackHelper.getSerialPort().SerialPort;&lt;/pre&gt;&lt;p&gt;详细使用说明可以参考如下文档：&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://serialport.io/docs/guide-usage&quot;&gt;SerialPort Usage | Node SerialPort&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.cnblogs.com/reachteam/p/17696071.html&quot;&gt;上位机使用JS SerialPort进行串口通信， 包含开发环境搭建和完整示例代码 - H5开发技术 - 博客园 (cnblogs.com)&lt;/a&gt;&lt;/p&gt;&lt;h2&gt;获取命令行参数：&lt;/h2&gt;&lt;pre class=&quot;prism-highlight prism-language-js&quot;&gt;HTMLPackerHelper.getArgv();&lt;/pre&gt;&lt;p&gt;返回结果是一个array, 其中第一个值是当前EXE所在的路径，后续的值即为打开EXE所使用的命令行参数， 如下图所示&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://www.ylongsoft.com/zb_users/upload/2026/04/1776568876319_853890b5.png&quot; alt=&quot;&quot;/&gt;&lt;/p&gt;&lt;h2&gt;读写文件api&lt;/h2&gt;&lt;pre class=&quot;prism-highlight prism-language-js&quot;&gt;//&amp;nbsp;获取用户目录下的dd.ini文件,&amp;nbsp;如果不存在则会抛出异常

const&amp;nbsp;content&amp;nbsp;=&amp;nbsp;HTMLPackHelper.getFileContent(&amp;#39;dd.ini&amp;#39;);

//&amp;nbsp;获取用户目录下的dd.ini文件,&amp;nbsp;如果不存在则会返回default

const&amp;nbsp;content&amp;nbsp;=&amp;nbsp;HTMLPackHelper.getFileContent(&amp;#39;dd.ini&amp;#39;,&amp;nbsp;&amp;#39;default&amp;#39;);

//&amp;nbsp;向用户目录的dd.ini文件写入&amp;quot;ddd&amp;quot;

HTMLPackHelper.writeFileContent(&amp;#39;dd.ini&amp;#39;,&amp;nbsp;&amp;#39;ddd&amp;#39;);&lt;/pre&gt;&lt;h2&gt;获取版本号API&lt;/h2&gt;&lt;p&gt;获取打包时配置的应用版本号，可用于在页面中展示当前软件版本、做版本比较或版本提示、自动更新等场景。&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-js&quot;&gt;//&amp;nbsp;返回打包时配置的版本号字符串，如&amp;nbsp;&amp;quot;1.2.0.0&amp;quot;，未配置时默认返回&amp;nbsp;&amp;quot;1.0.0.0&amp;quot;
const&amp;nbsp;version&amp;nbsp;=&amp;nbsp;window.HTMLPackHelper.getVersion();&lt;/pre&gt;&lt;h2&gt;设置请求头API&lt;/h2&gt;&lt;p&gt;用于在发起网络请求时动态添加自定义 HTTP 请求头，常见使用场景包括：携带身份认证 Token、设置自定义来源标识、绕过某些需要特定请求头的接口限制等。&lt;/p&gt;&lt;h3&gt;设置请求头&lt;/h3&gt;&lt;pre class=&quot;prism-highlight prism-language-js&quot;&gt;//&amp;nbsp;urlPattern&amp;nbsp;为匹配请求&amp;nbsp;URL&amp;nbsp;的字符串或通配符模式
//&amp;nbsp;headers&amp;nbsp;为包含请求头键值对的对象
window.HTMLPackHelper.setRequestHeaders(&amp;#39;https://api.example.com/*&amp;#39;,&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Authorization:&amp;nbsp;&amp;#39;Bearer&amp;nbsp;your-token&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;X-Custom-Header&amp;#39;:&amp;nbsp;&amp;#39;value&amp;#39;,
});&lt;/pre&gt;&lt;h3&gt;移除请求头&lt;/h3&gt;&lt;pre class=&quot;prism-highlight prism-language-js&quot;&gt;//&amp;nbsp;移除之前为指定&amp;nbsp;URL&amp;nbsp;模式设置的自定义请求头
window.HTMLPackHelper.removeRequestHeaders(&amp;#39;https://api.example.com/*&amp;#39;);&lt;/pre&gt;</description><pubDate>Sun, 19 Apr 2026 11:21:16 +0800</pubDate></item><item><title>HTML 打包 EXE 工具数据加密功能详解</title><link>https://www.ylongsoft.com/post//html-exe-data-encryption.html</link><description>&lt;p&gt;本文详细说明 HTML 打包 EXE 工具的数据加密功能，介绍本地项目与远程项目两种使用方式、加密工具的操作流程、注意事项及适用场景，帮助开发者在打包时保护 HTML/JS/CSS/JSON/XML 等前端资源不被直接查看。&lt;/p&gt;
&lt;h2&gt;概述&lt;/h2&gt;
&lt;p&gt;HTML 打包 EXE 工具提供“数据加密”功能，可对前端文本资源（.html/.htm、.js、.css、.json、.xml）进行加密保护，防止通过解压 EXE 或抓包等方式直接获取明文源码。启用后，EXE 运行时会自动解密并加载资源，运行体验与未加密版本保持一致，但直接打开文件时无法看到原始内容。&lt;/p&gt;
&lt;p&gt;下载最新版本：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;点击进入 HTML 一键打包 EXE 软件下载页面：&lt;a href=&quot;https://leapever.com/intro/html2exe/&quot;&gt;https://leapever.com/intro/html2exe/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;https://www.ylongsoft.com/zb_users/upload/2026/04/1776516190400_b73e02c1.png&quot; alt=&quot;加密设置界面&quot;&gt;&lt;/p&gt;
&lt;h2&gt;数据加密支持的文件类型&lt;/h2&gt;
&lt;p&gt;加密功能会处理以下文本文件类型：&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;文件类型&lt;/th&gt;
&lt;th&gt;说明&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;td&gt;&lt;code&gt;.html&lt;/code&gt; / &lt;code&gt;.htm&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;页面结构文件&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;.js&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;JavaScript 脚本&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;.css&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;样式文件&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;.json&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;配置或数据文件&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;.xml&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;数据或配置文件&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;注意：图片、字体、视频等二进制资源不在加密范围内。&lt;/p&gt;
&lt;h2&gt;功能入口与设置项&lt;/h2&gt;
&lt;p&gt;在工具主界面切换到“加密设置”标签页，可配置以下选项：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;使用数据加密：勾选后启用数据加密功能&lt;/li&gt;
&lt;li&gt;加密密钥：可自定义密钥，不填写则使用内置公共密钥（建议在正式项目中自定义密钥）&lt;/li&gt;
&lt;li&gt;加密数据工具：独立工具，用于对远程项目资源进行预加密&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;提示：数据加密功能仅在 Chrome 内核下生效，IE 内核或其他内核时该选项不生效。&lt;/p&gt;
&lt;h2&gt;两种使用方式&lt;/h2&gt;
&lt;p&gt;根据项目资源的位置不同，使用方式分为本地项目与远程项目两类。&lt;/p&gt;
&lt;h3&gt;方式一：本地项目 — 勾选即可&lt;/h3&gt;
&lt;p&gt;当主页面路径为本地文件路径时，启用加密非常简单：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;在快速打包页面填写项目路径和图标&lt;/li&gt;
&lt;li&gt;切换到“加密设置”标签页，勾选“使用数据加密”&lt;/li&gt;
&lt;li&gt;（可选）填写自定义加密密钥，建议设置私有密钥而非使用默认公共密钥&lt;/li&gt;
&lt;li&gt;回到快速打包页面，点击“打包”按钮&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;工具会在打包过程中自动对项目内的 HTML/JS/CSS/JSON/XML 文件进行加密并打包到 EXE 中，无需额外操作。&lt;/p&gt;
&lt;h3&gt;方式二：远程项目 — 使用加密数据工具&lt;/h3&gt;
&lt;p&gt;当主页面路径为 http/https 开头的远程 URL 时，打包工具在打包阶段无法直接访问服务器端资源来加密，此时需使用“加密数据工具”对将部署到服务器的资源预先加密，然后再将加密后的资源上传到服务器。&lt;/p&gt;
&lt;p&gt;操作步骤：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;准备要上传的资源目录：将前端资源整理到本地文件夹，确保该目录为完整的部署内容&lt;/li&gt;
&lt;li&gt;在“加密设置”页面勾选“使用数据加密”，并在“加密密钥”中填写一个密钥（示例：mySecretKey2026）。该密钥必须与后续打包时 EXE 使用的密钥一致&lt;/li&gt;
&lt;li&gt;点击“加密数据工具”按钮，选择第一步准备好的资源目录&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&quot;https://www.ylongsoft.com/zb_users/upload/2026/04/1776516190693_2000635b.png&quot; alt=&quot;选择资源目录&quot;&gt;&lt;/p&gt;
&lt;ol start=&quot;4&quot;&gt;
&lt;li&gt;确认加密：工具会列出将要加密的文件类型（&lt;code&gt;.html&lt;/code&gt;、&lt;code&gt;.htm&lt;/code&gt;、&lt;code&gt;.js&lt;/code&gt;、&lt;code&gt;.css&lt;/code&gt;、&lt;code&gt;.json&lt;/code&gt;、&lt;code&gt;.xml&lt;/code&gt;），确认后开始加密。加密前工具会在目录中生成一个 &lt;code&gt;html2exe-backup-时间戳.zip&lt;/code&gt; 备份文件，以便恢复原始文件&lt;/li&gt;
&lt;li&gt;上传加密后的资源到服务器（不需要上传备份 zip）；若直接通过浏览器访问已加密的服务器端 HTML，会显示为加密乱码&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&quot;https://www.ylongsoft.com/zb_users/upload/2026/04/1776516190918_7f79bedc.png&quot; alt=&quot;加密后的远程页面示例&quot;&gt;&lt;/p&gt;
&lt;ol start=&quot;6&quot;&gt;
&lt;li&gt;在快速打包页面将项目路径填写为远程 URL（例如 &lt;a href=&quot;https://example.com/index.html%EF%BC%89%EF%BC%8C%E7%A1%AE%E4%BF%9D%E2%80%9C%E4%BD%BF%E7%94%A8%E6%95%B0%E6%8D%AE%E5%8A%A0%E5%AF%86%E2%80%9D%E5%B7%B2%E5%8B%BE%E9%80%89%E4%B8%94%E5%AF%86%E9%92%A5%E4%B8%8E%E5%8A%A0%E5%AF%86%E5%B7%A5%E5%85%B7%E6%97%B6%E5%A1%AB%E5%86%99%E7%9A%84%E4%B8%80%E8%87%B4%EF%BC%8C%E7%82%B9%E5%87%BB%E2%80%9C%E6%89%93%E5%8C%85%E2%80%9D%E7%94%9F%E6%88%90&quot;&gt;https://example.com/index.html），确保“使用数据加密”已勾选且密钥与加密工具时填写的一致，点击“打包”生成&lt;/a&gt; EXE。生成的 EXE 在访问远程资源时会使用相同密钥解密加载。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;使用注意事项&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;密钥必须一致：远程项目场景下，在线资源已加密时，加密工具使用的密钥必须与打包 EXE 时填写的密钥完全相同，否则 EXE 无法解密并加载资源&lt;/li&gt;
&lt;li&gt;仅 Chrome 内核支持：数据加密功能仅在 Chrome 内核下生效，IE 内核或其他内核打包时勾选不生效&lt;/li&gt;
&lt;li&gt;敏感目录限制：加密工具不允许对桌面、我的文档、下载、用户主目录、磁盘根目录等系统敏感目录直接进行加密，防止误操作影响系统&lt;/li&gt;
&lt;li&gt;自动备份：每次使用加密工具会生成 &lt;code&gt;html2exe-backup-时间戳.zip&lt;/code&gt; 备份，请妥善保存以便恢复或修改源码后重新加密&lt;/li&gt;
&lt;li&gt;不加密二进制资源：图片、字体、视频等二进制资源不在加密范围内&lt;/li&gt;
&lt;li&gt;建议使用自定义密钥：内置公共密钥仅供测试，正式环境建议使用仅己方掌握的密钥&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;本地与远程方式对比&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;对比项&lt;/th&gt;
&lt;th&gt;本地项目&lt;/th&gt;
&lt;th&gt;远程项目&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;td&gt;操作复杂度&lt;/td&gt;
&lt;td&gt;勾选即可，一步完成&lt;/td&gt;
&lt;td&gt;需先用加密工具处理，再上传服务器&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;资源位置&lt;/td&gt;
&lt;td&gt;打包进 EXE 内部&lt;/td&gt;
&lt;td&gt;部署在 Web 服务器&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;修改源码后的处理&lt;/td&gt;
&lt;td&gt;直接修改源码后重新打包&lt;/td&gt;
&lt;td&gt;修改后需用加密工具重新加密并上传&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;备份 zip&lt;/td&gt;
&lt;td&gt;无需&lt;/td&gt;
&lt;td&gt;加密工具会自动生成备份，请保留&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;密钥一致性要求&lt;/td&gt;
&lt;td&gt;工具内处理&lt;/td&gt;
&lt;td&gt;加密工具与 EXE 必须使用相同密钥&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;h2&gt;适用场景&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;防止 HTML/JS 源码被直接查看，适合对前端逻辑有保密要求的商业项目&lt;/li&gt;
&lt;li&gt;与代码混淆配合使用，在混淆基础上再加一层加密以提高破解成本&lt;/li&gt;
&lt;li&gt;付费课程、电子书类项目，防止用户轻易提取内容&lt;/li&gt;
&lt;li&gt;内部管理系统中对业务逻辑和页面结构需要一定保护的企业应用&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;参考链接&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;HTML 一键打包 EXE 下载页：&lt;a href=&quot;https://leapever.com/intro/html2exe/&quot;&gt;https://leapever.com/intro/html2exe/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;HTML 打包 EXE 工具标签页模式详解： &lt;a href=&quot;https://leapever.com/tutorial/html2exe-tab-mode-guide&quot;&gt;https://leapever.com/tutorial/html2exe-tab-mode-guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;静态密码使用说明： &lt;a href=&quot;https://leapever.com/intro/html2exe/docs/static-password&quot;&gt;https://leapever.com/intro/html2exe/docs/static-password&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;离线一机一码使用教程： &lt;a href=&quot;https://leapever.com/intro/html2exe/docs/html2exe-encrypt-tutorial&quot;&gt;https://leapever.com/intro/html2exe/docs/html2exe-encrypt-tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;网络验证使用说明： &lt;a href=&quot;https://leapever.com/intro/html2exe/docs/network-validation&quot;&gt;https://leapever.com/intro/html2exe/docs/network-validation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description><pubDate>Sat, 18 Apr 2026 20:43:11 +0800</pubDate></item></channel></rss>