[0622]webUI库-使用AI写webUI,无需前端知识,简单易用
本帖最后由 aixunsoft 于 2026-6-22 16:51 编辑使用webview2,WebView2Loader静态库来自nuget
优势
0.纯源码 - 除了WebView2Loade静态库,其他都是纯源码。
1.体积小 - 仅依赖WebView2Loade静态库,不依赖MFC,编译后体积小。
2.单文件 - 不依赖外部动态库,所有网页资源直接打包进exe,最终产物只有一个exe文件,整个运行过程无写出文件,并且体积小。
3.简单 - 不需要学习前端知识(只需要会简单使用浏览器的开发者工具获取元素路径即可),使用AI生成的网页UI可直接使用,习惯类似MFC。
4.高效 - 非使用主流的网页消息通讯,直接暴露本身的com对象给WebView2,通讯更高效。
5.灵活 - 交互简单,稍微会一些前端知识可以把任何组件封装成火山组件,火山端全部改成了同步模式,更简单,仅网页端调用火山方法使用异步。
6.美观 - 默认使用无边框可调节大小窗口,并且可以设置透明度,在火山简单设置可以使用网页元素作为标题栏和控制按钮。
7.多窗口 - 可以同时创建多个窗口,包括主窗口/子窗口/对话框。主窗口和子窗口可以同时存在n个。
缺点
1.WebView2对老系统兼容不好,甚至缺少环境,但是可以带上环境,或者创建失败后在线下载环境。
2.暂时无设计器,需要自己声明组件变量和编写初始化代码,使用的人多的话后期再开发(主要由AI写前端,只需要人工简单在设计器设置)。3.无边框窗口使用了系统自带的阴影,在不同系统和系统设置下,已经修改一些代码,但是我没有异常的机器测试。
源码模块简介
窗口类 - windows窗口的各种操作,包括常用窗口操作,全屏 闪烁 托盘图标 时钟,透明度等等。
UI类 - WebView2封装 用于加载页面,可以绑定火山动态或静态方法给网页端调用(异步),并且可以设置返回值,也可以执行JS并且获取返回值。
元素类 - 用于绑定网页元素(绑定后类似MFC那样用),按需注册事件。
演示(前端由deepseek网页版生成,没有任何手动修改,没有手写任何前端代码)
编译后演示
0.两个子窗口发布版,单exe,1MB不到
调用源码
1.声明窗口成员变量
2.注册资源(把网页资源打包进exe,开发设计器后无需手写这部分代码)
3.载入主窗口后启用消息循环
4.在自己的窗口类中声明组件变量(和MFC类似,开发设计器后无需手动声明,元素属性需要在开发者工具中,选中要绑定的元素,右键,复制-复制JS路径)
5.在载入完毕事件中初始化组件(开发设计器后无需手动初始化,主要是绑定当前UI类,设置部分组件的特殊类型,控制按钮,标题栏等,还有注册组件事件)
6.处理事件(和MFC那样在事件中写自己的代码,也可以操作网页元素)
模块(源码)/样例下载
非AI开发(仅使用AI网页版cha询过webview2少量资料),古法手搓,免费开源无限制,请尊重版权,使用源码请注明来源。
0612 - 0.2版本
1.重新架构事件,避免一些操作下发生死锁卡死。
2.组件类改为元素类,完善元素事件,元素类无需扩展即可绑定大部分元素的操作,复杂元素可以用元素类扩展,事件按需注册,提高性能。
3.标题栏弃用webview2自带模式,试用windows消息实现,避免部分老版本sdk不兼容。
4.部分机器有白边的情况修改了一些代码,但是我电脑都正常,无法测试。
5.默认禁止拖拽,需要绑定元素后手动开启允许接收拖拽,暂时不能拖拽文件到界面。
6.强制开启DPI缩放,避免高分屏字体模糊和创建webview2失败,但是建议在项目属性中开启,不然窗口大小可能会异常。
**** Hidden Message *****
0614 - 0.3版本1.把个别新windows sdk新增常量直接替换成字面量,兼容老版本windows sdk
0622 - 0.4版本
1.修复无边框窗口最大化覆盖任务栏BUG
**** Hidden Message *****
感谢开源 这个回调看着挺不错吖
Windows10 有三条白边
本帖最后由 aixunsoft 于 2026-6-6 05:41 编辑
fengyishen 发表于 2026-6-6 05:11
Windows10 有三条白边
新上传了一个版本,你试试新的 大佬隔 早上好 笑笑笑不出来 发表于 2026-6-6 06:17
大佬隔 早上好
早上好啊,大佬隔 优秀,这就是未来的界面,前端用HTML作界面,后端对接任何编程语言功能 学习学习学习学习 666