Files
WebToWindowsApp-CSharp/README.md
2025-12-14 16:17:15 +08:00

184 lines
4.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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. 克隆项目
```bash
git clone https://github.com/yourusername/WebToApp.git
cd WebToApp
```
### 2. 配置应用
编辑 `config/config.json` 文件来配置你的应用:
#### 在线网页配置示例
```json
{
"软件名称": "我的应用",
"软件logo": "config/logo.png",
"网页类型": "在线网页",
"在线网页": {
"链接地址": "https://example.com"
},
"注入设置": {
"隐藏网页滚动条": true,
"自定义右键菜单": true,
"拦截下载链接": true
},
"窗口设置": {
"窗口宽度": 1200,
"窗口高度": 800,
"窗口可调整大小": true,
"窗口置顶": false,
"窗口阴影": true,
"全屏": false
}
}
```
#### 本地网页配置示例
```json
{
"软件名称": "我的应用",
"软件logo": "config/logo.png",
"网页类型": "本地网页",
"本地网页": {
"网页目录": "config/web",
"网页入口": "index.html",
"展示模式": "http服务器"
},
"注入设置": {
"隐藏网页滚动条": true,
"自定义右键菜单": true,
"拦截下载链接": true
},
"窗口设置": {
"窗口宽度": 1200,
"窗口高度": 800,
"窗口可调整大小": true,
"窗口置顶": false,
"窗口阴影": true,
"全屏": false
}
}
```
### 3. 构建项目
使用 Visual Studio 或命令行构建:
```bash
dotnet build
```
### 4. 运行应用
```bash
dotnet run
```
或者直接运行编译后的可执行文件。
### 5. 发布应用
发布为独立可执行文件:
```bash
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 支持一下!