2025-12-14 16:17:15 +08:00
2025-12-14 16:17:15 +08:00
2025-12-14 16:17:15 +08:00
2025-12-14 16:17:15 +08:00
2025-12-14 16:17:15 +08:00
2025-12-14 16:17:15 +08:00
2025-12-14 16:17:15 +08:00
2025-12-14 16:17:15 +08:00
2025-12-14 16:17:15 +08:00
2025-12-14 16:17:15 +08:00
2025-12-14 16:17:15 +08:00
2025-12-14 16:17:15 +08:00
2025-12-14 16:17:15 +08:00
2025-12-14 16:17:15 +08:00
2025-12-14 16:17:15 +08:00
2025-12-14 16:17:15 +08:00

WebToApp

一个基于 WPF 和 WebView2 的网页转桌面应用工具,可以将在线网页或本地网页打包成 Windows 桌面应用程序。

功能特性

  • 🌐 支持在线网页:直接加载远程网页地址
  • 📁 支持本地网页:支持本地 HTML 文件,可通过 HTTP 服务器或直接文件方式加载
  • 🎨 自定义窗口设置:可配置窗口大小、置顶、全屏等属性
  • 🖱️ 自定义右键菜单:提供返回、刷新、关于等快捷操作
  • 📥 下载拦截:智能拦截下载链接,使用系统保存对话框
  • 🎯 滚动条隐藏:可隐藏网页滚动条,提供更沉浸的体验
  • 🖼️ 自定义图标和标题:支持自定义应用图标和窗口标题

技术栈

  • .NET 8.0 - 跨平台开发框架
  • WPF - Windows Presentation Foundation
  • WebView2 - 基于 Chromium 的 WebView 控件

系统要求

  • Windows 10/11
  • .NET 8.0 Runtime如果使用独立部署则不需要
  • WebView2 Runtime通常已预装或会自动下载

快速开始

1. 克隆项目

git clone https://github.com/yourusername/WebToApp.git
cd WebToApp

2. 配置应用

编辑 config/config.json 文件来配置你的应用:

在线网页配置示例

{
  "软件名称": "我的应用",
  "软件logo": "config/logo.png",
  "网页类型": "在线网页",
  "在线网页": {
    "链接地址": "https://example.com"
  },
  "注入设置": {
    "隐藏网页滚动条": true,
    "自定义右键菜单": true,
    "拦截下载链接": true
  },
  "窗口设置": {
    "窗口宽度": 1200,
    "窗口高度": 800,
    "窗口可调整大小": true,
    "窗口置顶": false,
    "窗口阴影": true,
    "全屏": false
  }
}

本地网页配置示例

{
  "软件名称": "我的应用",
  "软件logo": "config/logo.png",
  "网页类型": "本地网页",
  "本地网页": {
    "网页目录": "config/web",
    "网页入口": "index.html",
    "展示模式": "http服务器"
  },
  "注入设置": {
    "隐藏网页滚动条": true,
    "自定义右键菜单": true,
    "拦截下载链接": true
  },
  "窗口设置": {
    "窗口宽度": 1200,
    "窗口高度": 800,
    "窗口可调整大小": true,
    "窗口置顶": false,
    "窗口阴影": true,
    "全屏": false
  }
}

3. 构建项目

使用 Visual Studio 或命令行构建:

dotnet build

4. 运行应用

dotnet run

或者直接运行编译后的可执行文件。

5. 发布应用

发布为独立可执行文件:

dotnet publish -c Release -r win-x64 --self-contained true

发布后的文件在 bin/Release/net8.0-windows/win-x64/publish/ 目录下。

配置说明

窗口设置

  • 窗口宽度 / 窗口高度:设置窗口的初始大小(像素)
  • 窗口可调整大小:是否允许用户调整窗口大小
  • 窗口置顶:窗口是否始终显示在其他窗口之上
  • 窗口阴影:是否显示窗口阴影效果
  • 全屏:是否以全屏模式启动

注入设置

  • 隐藏网页滚动条:隐藏网页内的滚动条
  • 自定义右键菜单:启用自定义右键菜单(包含返回、刷新、关于等功能)
  • 拦截下载链接:拦截网页中的下载链接,使用系统保存对话框

本地网页展示模式

  • http服务器:使用内置 HTTP 服务器提供网页服务(推荐)
  • 直接本地:直接使用 file:// 协议加载本地文件

项目结构

WebToApp/
├── config/                 # 配置文件目录
│   ├── config.json        # 主配置文件
│   ├── logo.png           # 应用图标
│   └── aboutpage/         # 关于页面
│       └── about.html
├── MainWindow.xaml        # 主窗口 XAML
├── MainWindow.xaml.cs     # 主窗口代码
├── App.xaml               # 应用程序 XAML
├── App.xaml.cs            # 应用程序代码
└── WebToApp.csproj       # 项目文件

开发

环境要求

  • Visual Studio 2022 或更高版本
  • .NET 8.0 SDK

依赖项

  • Microsoft.Web.WebView2 (1.0.3595.46)

许可证

本项目采用 MIT 许可证。

贡献

欢迎提交 Issue 和 Pull Request

作者

[你的名字]


如果这个项目对你有帮助,请给个 Star 支持一下!

Description
C#版网页转Windows应用
Readme 214 KiB
Languages
C# 83%
HTML 17%