递归火山软件开发平台

标题: [0622]webUI库-使用AI写webUI,无需前端知识,简单易用 [打印本页]

作者: aixunsoft    时间: 2026-6-6 03:58
标题: [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不到
(, 下载次数: 973)

调用源码
1.声明窗口成员变量
(, 下载次数: 909)
2.注册资源(把网页资源打包进exe,开发设计器后无需手写这部分代码)
(, 下载次数: 956)
3.载入主窗口后启用消息循环
(, 下载次数: 891)
4.在自己的窗口类中声明组件变量(和MFC类似,开发设计器后无需手动声明,元素属性需要在开发者工具中,选中要绑定的元素,右键,复制-复制JS路径)
(, 下载次数: 919)
5.在载入完毕事件中初始化组件(开发设计器后无需手动初始化,主要是绑定当前UI类,设置部分组件的特殊类型,控制按钮,标题栏等,还有注册组件事件)
(, 下载次数: 929)
6.处理事件(和MFC那样在事件中写自己的代码,也可以操作网页元素)
(, 下载次数: 947)

模块(源码)/样例下载
非AI开发(仅使用AI网页版cha询过webview2少量资料),古法手搓,免费开源无限制,请尊重版权,使用源码请注明来源。
0612 - 0.2版本
1.重新架构事件,避免一些操作下发生死锁卡死。
2.组件类改为元素类,完善元素事件,元素类无需扩展即可绑定大部分元素的操作,复杂元素可以用元素类扩展,事件按需注册,提高性能。
3.标题栏弃用webview2自带模式,试用windows消息实现,避免部分老版本sdk不兼容。
4.部分机器有白边的情况修改了一些代码,但是我电脑都正常,无法测试。
5.默认禁止拖拽,需要绑定元素后手动开启允许接收拖拽,暂时不能拖拽文件到界面。
6.强制开启DPI缩放,避免高分屏字体模糊和创建webview2失败,但是建议在项目属性中开启,不然窗口大小可能会异常。

0614 - 0.3版本1.把个别新windows sdk新增常量直接替换成字面量,兼容老版本windows sdk

0622 - 0.4版本
1.修复无边框窗口最大化覆盖任务栏BUG







作者: 寒风    时间: 2026-6-6 04:35
感谢开源
作者: fengyishen    时间: 2026-6-6 04:58
这个回调看着挺不错吖
作者: fengyishen    时间: 2026-6-6 05:11
(, 下载次数: 846)

Windows10 有三条白边


作者: aixunsoft    时间: 2026-6-6 05:27
本帖最后由 aixunsoft 于 2026-6-6 05:41 编辑
fengyishen 发表于 2026-6-6 05:11
Windows10 有三条白边

新上传了一个版本,你试试新的
作者: 笑笑笑不出来    时间: 2026-6-6 06:17
大佬隔 早上好
作者: aixunsoft    时间: 2026-6-6 06:36
笑笑笑不出来 发表于 2026-6-6 06:17
大佬隔 早上好

早上好啊,大佬隔
作者: 承易    时间: 2026-6-6 07:42
优秀,这就是未来的界面,前端用HTML作界面,后端对接任何编程语言功能
作者: scfalwxk    时间: 2026-6-6 07:51
学习学习学习学习
作者: IvzCX    时间: 2026-6-6 07:54
666
作者: 小小小小鸟    时间: 2026-6-6 08:23
不容易啊  UI百花齐放
作者: wzx826    时间: 2026-6-6 08:32
学习一下
作者: quick    时间: 2026-6-6 08:50
666666666         
作者: sokp    时间: 2026-6-6 09:06
666666666666666
作者: 三条鱼    时间: 2026-6-6 09:17
这个是不是类似他们的jadeView
作者: storey    时间: 2026-6-6 09:28
优秀。。。
作者: 793359277    时间: 2026-6-6 09:34
看看            
作者: zzky    时间: 2026-6-6 09:42
感谢分享
作者: arlonshen    时间: 2026-6-6 11:53
感谢开源
作者: kingsoft    时间: 2026-6-6 12:49
支持分享!最近AI出来好多好东西!
作者: youzhi311    时间: 2026-6-6 14:31
学习一下

作者: 软软    时间: 2026-6-6 16:36
感谢分享
作者: domingo    时间: 2026-6-6 17:00
webUI库
作者: zlk    时间: 2026-6-6 17:57

学习学习学习学习
作者: 笑笑笑不出来    时间: 2026-6-6 18:38
大佬隔  赶紧修BUG了  都给你加精了
作者: 山梦    时间: 2026-6-6 18:43

学习学习学习学习
作者: iceyaer    时间: 2026-6-6 20:05

感谢开源
作者: 苏少爷    时间: 2026-6-6 20:22
用AI写webUI,无需前端知识
作者: htpmcj    时间: 2026-6-6 20:39
66666
作者: hyi    时间: 2026-6-6 20:50
webUI
作者: howill2021    时间: 2026-6-6 21:48
这个厉害,比使用edg打包方便多了
大佬,对方需要有webview环境或者edg吗?
作者: kanshijian    时间: 2026-6-6 22:07
:噜阿噜感谢大佬,先试试
作者: howill2021    时间: 2026-6-6 22:58
大佬,有点尴尬,系统没WebView环境还运行不了
作者: kca    时间: 2026-6-6 23:33
66666666666666
作者: 3219720339    时间: 2026-6-7 09:22
kankan
作者: happer    时间: 2026-6-7 09:40
不错                                    
作者: 小莫    时间: 2026-6-7 15:59
谢谢,看一下
作者: domingo    时间: 2026-6-7 16:28
经过测试发现,该库在win2012服务器,安装相应环境后,依然无法打开软件;但是别人的WEBUI程序可以打开。

后面经过和AI一起的分析,分析了大概两个多小时,成功定位到问题:

XHwebUI 当前库强制调用 ICoreWebView2Settings9
Windows Server 2012 R2 上的 WebView2 Runtime 109 不支持该高版本接口
导致原先 创建主窗口() 返回假

解决方案:牺牲一点无边框拖拽高级特性,在UI类的  创建webview2  中打入相应兼容补丁。


                    

                        

                           

                           
正在渲染火山代码...

                        

                    

                    复制代码
               



主要改动在这个地方:

1、把 XHwebUI 里 CoreWebView2Settings9 获取失败 → return false  

改成

ICoreWebView2Settings9 获取成功才启用非客户区支持

获取失败就跳过,继续创建窗口

对应插入的代码如下:


                    

                        

                           

                           
正在渲染火山代码...

                        

                    

                    复制代码
               


作者: touching    时间: 2026-6-7 16:35
大佬牛逼
作者: huningli38    时间: 2026-6-7 16:44
感谢开源
作者: yhobo    时间: 2026-6-7 19:46
看看。。。。。。。。。。。。。。。。。

作者: zzyhzb    时间: 2026-6-7 21:47
66666666
作者: aixunsoft    时间: 2026-6-7 22:11
domingo 发表于 2026-6-7 16:28
经过测试发现,该库在win2012服务器,安装相应环境后,依然无法打开软件;但是别人的WEBUI程序可以打开。

...

感谢反馈
作者: yb1984724    时间: 2026-6-8 11:06
占用内存多不多!~
作者: aycap    时间: 2026-6-8 11:13
6666666666
作者: lichenxui    时间: 2026-6-8 12:33
6666
作者: 黑客王者    时间: 2026-6-8 14:40
我看看是什么样的
作者: 2447220146    时间: 2026-6-8 17:34
看看怎么有啊
作者: yyaini0424    时间: 2026-6-8 22:06
感谢开源
作者: 梦临中国    时间: 2026-6-9 18:14
膜拜大佬
作者: alanwoo    时间: 2026-6-9 21:02
感谢开源
作者: xbp2015    时间: 2026-6-9 21:31
66666666
作者: 888888    时间: 2026-6-9 21:34
谢谢分享
作者: smk718    时间: 2026-6-10 11:12
大佬牛逼~
作者: zj4f    时间: 2026-6-11 08:33
不错,很有典型的中国人审美风格
作者: 67564226    时间: 2026-6-11 08:41
学习学习学习学习
作者: pkwwfpkwwf    时间: 2026-6-11 12:33
本主题由 飞
作者: zqiz    时间: 2026-6-11 13:30
6666
作者: guangye1    时间: 2026-6-11 15:39
我看看是怎么个事
作者: Fang0x378    时间: 2026-6-11 18:06
厉害啊
作者: icky01    时间: 2026-6-11 22:29
支持一波
作者: msjyyy    时间: 2026-6-13 05:33
感谢开源
作者: yxdn    时间: 2026-6-13 14:00
学习
作者: 傲慢与偏见    时间: 2026-6-13 14:20
谢谢分享
作者: Hui    时间: 2026-6-13 16:22
这个就牛逼了
作者: Hui    时间: 2026-6-13 16:37
使用样例打不开
作者: aixunsoft    时间: 2026-6-13 16:42
Hui 发表于 2026-6-13 16:37
使用样例打不开

要先安装模块
作者: Hui    时间: 2026-6-13 16:45
错误:
    vpkg_UI类.cpp
    vpkg_元素类.cpp
    vpkg_启动类.cpp
    vpkg_窗口类.cpp
<D:\Program Files\Huoshan\plugins\vprj_win\classlib\user\XHwebUI\窗口类.wsv>, 268: 错误: error C2065: “DWMWCP_ROUND”: 未声明的标识符
<D:\Program Files\Huoshan\plugins\vprj_win\classlib\user\XHwebUI\窗口类.wsv>, 269: 错误: error C2065: “DWMWA_WINDOW_CORNER_PREFERENCE”: 未声明的标识符
<D:\Program Files\Huoshan\plugins\vprj_win\classlib\user\XHwebUI\窗口类.wsv>, 290: 错误: error C2065: “DWMWA_CAPTION_COLOR”: 未声明的标识符
编译生成目标文件"E:\迅雷下载\XHwebUI0.2\使用样例源码\XHwebUI使用样例\_int\XHwebUI使用样例\debug\x64\linker\XHwebUI使用样例.exe"失败,耗费时间 5657 毫秒.
--- 项目"XHwebUI使用样例"编译或链接失败. 编译过程中共遇到了 0 个警告, 5 个错误.

作者: Hui    时间: 2026-6-13 16:46
错误:
    vpkg_UI类.cpp
    vpkg_元素类.cpp
    vpkg_启动类.cpp
    vpkg_窗口类.cpp
<D:\Program Files\Huoshan\plugins\vprj_win\classlib\user\XHwebUI\窗口类.wsv>, 268: 错误: error C2065: “DWMWCP_ROUND”: 未声明的标识符
<D:\Program Files\Huoshan\plugins\vprj_win\classlib\user\XHwebUI\窗口类.wsv>, 269: 错误: error C2065: “DWMWA_WINDOW_CORNER_PREFERENCE”: 未声明的标识符
<D:\Program Files\Huoshan\plugins\vprj_win\classlib\user\XHwebUI\窗口类.wsv>, 290: 错误: error C2065: “DWMWA_CAPTION_COLOR”: 未声明的标识符
编译生成目标文件"E:\迅雷下载\XHwebUI0.2\使用样例源码\XHwebUI使用样例\_int\XHwebUI使用样例\debug\x64\linker\XHwebUI使用样例.exe"失败,耗费时间 5657 毫秒.
--- 项目"XHwebUI使用样例"编译或链接失败. 编译过程中共遇到了 0 个警告, 5 个错误.

作者: Hui    时间: 2026-6-13 16:48
exe文件也打不开
作者: aixunsoft    时间: 2026-6-13 16:49
Hui 发表于 2026-6-13 16:48
exe文件也打不开

那就是老系统不带webview2
作者: Hui    时间: 2026-6-13 16:51
win11系统
作者: aixunsoft    时间: 2026-6-13 17:24
Hui 发表于 2026-6-13 16:51
win11系统

调试一下源码,看看是哪个失败了
作者: qgiss527    时间: 2026-6-13 18:23
感谢分享
作者: 易涛涛    时间: 2026-6-13 20:33
学习一下
作者: kanshijian    时间: 2026-6-13 23:30
期待设计器:噜阿噜
作者: zgwuxu    时间: 2026-6-14 11:18
感谢开源
作者: 86339218    时间: 2026-6-14 13:38
感谢开源
作者: www167349852    时间: 2026-6-14 18:51
这么吊,我来看看
作者: www167349852    时间: 2026-6-14 19:01
(, 下载次数: 345)
出现了这几个错误大佬,望修正

作者: aixunsoft    时间: 2026-6-14 19:28
www167349852 发表于 2026-6-14 19:01
出现了这几个错误大佬,望修正

修复了,0.3版本,要等审核
作者: zgwuxu    时间: 2026-6-15 11:04
非常棒,效果相当好, 期待有个设计器 ,手动初始化 太痛苦了
作者: 上等兵    时间: 2026-6-15 11:22
厉害,谢谢分享
作者: 精神小妹    时间: 2026-6-19 11:37
我爱学习我爱学习
作者: 675550115    时间: 2026-6-19 20:59
上好啊,大佬隔
作者: aixunsoft    时间: 2026-6-19 22:14
675550115 发表于 2026-6-19 20:59
上好啊,大佬隔

大佬默?
作者: 塞内加尔    时间: 2026-6-19 22:38
感谢大佬
作者: jstion    时间: 2026-6-20 00:40

感谢开源
作者: q472448760    时间: 2026-6-20 10:01
56666666666666666666666
作者: 梦微凉    时间: 2026-6-21 00:59

感谢开源 学习
作者: 泡泡小驻    时间: 2026-6-22 08:49
666
作者: xrea    时间: 2026-6-22 09:31
感谢分享
作者: xrea    时间: 2026-6-22 11:27
反馈一个BUG,最大化窗口会把底部的状态栏给覆盖了
作者: 小人物没回忆    时间: 2026-6-22 13:00
学习学习学习学习
作者: zhengtao29    时间: 2026-6-22 14:47
感谢开源
作者: aixunsoft    时间: 2026-6-22 16:52
xrea 发表于 2026-6-22 11:27
反馈一个BUG,最大化窗口会把底部的状态栏给覆盖了

感谢反馈,0.4版本已修复且已上传,需要审核后显示。
作者: 泡泡小驻    时间: 2026-6-23 09:47

作者: Msconfig    时间: 2026-6-23 14:32
大佬就是大佬,随便搞搞就让我们受益无穷,话说老吴的界面库什么时候才能开发出来呢?
作者: guo828587    时间: 2026-6-27 18:20
学习一下
作者: 王震1    时间: 2026-6-30 00:28
看看怎么样




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4