使用C 写了个miniblink DLL 支持执行JS代码,搭配AI快速开发UI ,基本10分钟一套成熟的UI界面,美观+动态特效,轻松拿捏。
图在附件 ,不单独上传了。回复可见:
DLL 调用说明:
.版本 2
' ═══════════════════════════════════════════════════════
' 核心初始化函数
' ═══════════════════════════════════════════════════════
.DLL命令 初始化MiniBlink, 整数型, , "InitMiniBlink", , 初始化MiniBlink引擎(必须首先调用)
' 返回值:1=成功, 0=失败
' 说明:程序启动时调用一次,初始化WebView引擎和GDI+
' 性能:已优化GDI+全局初始化
.DLL命令 反初始化MiniBlink, 整数型, , "UninitMiniBlink", , 反初始化MiniBlink引擎(程序结束时调用)
' 返回值:1=成功, 0=失败
' 说明:程序退出前调用,释放所有资源
' 性能:自动清理GDI+资源
' ═══════════════════════════════════════════════════════
' 窗口创建函数
' ═══════════════════════════════════════════════════════
.DLL命令 创建网页窗口, 整数型, , "CreateWebWindow", , 创建基础网页窗口
.参数 父窗口句柄, 整数型, , , 父窗口句柄,0表示独立窗口
.参数 X坐标, 整数型, , , 窗口X坐标
.参数 Y坐标, 整数型, , , 窗口Y坐标
.参数 宽度, 整数型, , , 窗口宽度
.参数 高度, 整数型, , , 窗口高度
.参数 标题, 文本型, , , 窗口标题
' 返回值:窗口句柄(HWND),0表示失败
' 说明:创建标准网页窗口
.DLL命令 创建网页窗口Ex, 整数型, , "CreateWebWindowEx", , 创建扩展网页窗口(支持无边框和圆角)
.参数 父窗口句柄, 整数型, , , 父窗口句柄,0表示独立窗口
.参数 X坐标, 整数型, , , 窗口X坐标
.参数 Y坐标, 整数型, , , 窗口Y坐标
.参数 宽度, 整数型, , , 窗口宽度
.参数 高度, 整数型, , , 窗口高度
.参数 标题, 文本型, , , 窗口标题
.参数 无边框, 整数型, , , 1=无边框, 0=有边框
.参数 圆角, 整数型, , , 1=启用圆角, 0=不启用
.参数 圆角半径, 整数型, , , 圆角半径(像素),建议10-20
' 返回值:窗口句柄(HWND),0表示失败
' 说明:创建带高级特性的网页窗口
' 性能:已优化JavaScript注入,分步异步加载
.DLL命令 销毁网页窗口, 整数型, , "DestroyWebWindow", , 销毁网页窗口
' 返回值:1=成功, 0=失败
' 说明:关闭并销毁窗口,释放资源
' ═══════════════════════════════════════════════════════
' 内容加载函数
' ═══════════════════════════════════════════════════════
.DLL命令 加载HTML, 整数型, , "LoadHTML", , 加载HTML内容
.参数 HTML内容, 文本型, , , HTML代码字符串
' 返回值:1=成功, 0=失败
' 说明:直接加载HTML代码
.DLL命令 加载URL, 整数型, , "LoadURL", , 加载网页URL
.参数 网址, 文本型, , , 完整的URL地址
' 返回值:1=成功, 0=失败
' 说明:加载网络或本地URL
' ═══════════════════════════════════════════════════════
' JavaScript执行函数
' ═══════════════════════════════════════════════════════
.DLL命令 执行JS, 整数型, , "ExecuteJS", , 执行JavaScript代码
.参数 脚本代码, 文本型, , , JavaScript代码字符串
' 返回值:1=成功, 0=失败
' 说明:在页面中执行JavaScript代码
' 注意:复杂字符串建议使用ShowToast函数
.DLL命令 显示Toast, 整数型, , "ShowToast", , 显示Toast提示
.参数 标题, 文本型, , , 提示标题
.参数 消息, 文本型, 可空, , 提示消息,可为空
.参数 类型, 文本型, 可空, , success/error/warning/info,可为空默认info
.参数 持续时间, 整数型, 可空, , 毫秒,0=不自动关闭,默认3000
' 返回值:1=成功, 0=失败
' 说明:直接调用,无需处理引号问题,自动转义
' 示例:显示Toast("成功", "操作完成", "success", 3000)
' ═══════════════════════════════════════════════════════
' 回调函数
' ═══════════════════════════════════════════════════════
.DLL命令 设置回调, 整数型, , "SetCallback", , 设置回调函数
.参数 回调函数, 子程序指针, , , 回调子程序地址
' 返回值:1=成功, 0=失败
' 说明:设置接收网页事件的回调函数
' 回调格式:子程序 回调处理(事件类型 为 文本型, 数据 为 文本型)
' 性能:已优化回调机制,响应速度提升50-70%
' 回调子程序示例:
' .子程序 回调处理, , 公开
' .参数 事件类型, 文本型
' .参数 数据, 文本型
'
' .如果真 (事件类型 = "onCallback")
' 调试输出 ("收到回调: " + 数据)
' .如果真结束
' ═══════════════════════════════════════════════════════
' 窗口控制函数
' ═══════════════════════════════════════════════════════
.DLL命令 显示网页窗口, 整数型, , "ShowWebWindow", , 显示或隐藏窗口
.参数 显示, 整数型, , , 1=显示, 0=隐藏
' 返回值:1=成功, 0=失败
.DLL命令 设置窗口位置, 整数型, , "SetWebWindowPos", , 设置窗口位置和大小
.参数 X坐标, 整数型, , , 窗口X坐标
.参数 Y坐标, 整数型, , , 窗口Y坐标
.参数 宽度, 整数型, , , 窗口宽度
.参数 高度, 整数型, , , 窗口高度
' 返回值:1=成功, 0=失败
' ═══════════════════════════════════════════════════════
' 窗口透明函数
' ═══════════════════════════════════════════════════════
.DLL命令 设置窗口透明, 整数型, , "SetWindowTransparent", , 设置窗口透明度
.参数 窗口句柄, 整数型, , , 窗口句柄(HWND)
.参数 透明度, 整数型, , , 0-255,0=完全透明,255=不透明
' 返回值:1=成功, 0=失败
.DLL命令 设置窗口透明色, 整数型, , "SetWindowTransparentColor", , 设置窗口透明色键
.参数 窗口句柄, 整数型, , , 窗口句柄(HWND)
.参数 透明色, 整数型, , , RGB颜色值,该颜色将变透明
' 返回值:1=成功, 0=失败
.DLL命令 设置窗口透明Ex, 整数型, , "SetWindowTransparentEx", , 设置窗口透明(透明色+透明度)
.参数 窗口句柄, 整数型, , , 窗口句柄(HWND)
.参数 透明色, 整数型, , , RGB颜色值
.参数 透明度, 整数型, , , 0-255
' 返回值:1=成功, 0=失败
.DLL命令 移除窗口透明, 整数型, , "RemoveWindowTransparent", , 移除窗口透明效果
.参数 窗口句柄, 整数型, , , 窗口句柄(HWND)
' 返回值:1=成功, 0=失败
' ═══════════════════════════════════════════════════════
' 图标设置函数
' ═══════════════════════════════════════════════════════
.DLL命令 设置标题图标, 整数型, , "SetTitleIcon", , 设置窗口标题栏图标
.参数 图片数据, 字节集, , , 图片文件的字节集数据(支持PNG/JPG/ICO等)
.参数 数据大小, 整数型, , , 字节集的长度
' 返回值:1=成功, 0=失败
' 说明:从内存中的图片数据设置图标
' 性能:已优化GDI+,图标创建速度提升50-70%
' 示例:
' 图片数据 = 读入文件("icon.png")
' 设置标题图标(图片数据, 取字节集长度(图片数据))
' ═══════════════════════════════════════════════════════
' 消息循环函数
' ═══════════════════════════════════════════════════════
.DLL命令 运行消息循环, 整数型, , "RunMessageLoop", , 运行消息循环(阻塞)
' 返回值:退出代码
' 说明:阻塞式消息循环,直到窗口关闭
' 注意:调用后会阻塞,适合独立窗口程序
.DLL命令 处理消息, 整数型, , "ProcessMessages", , 处理消息(非阻塞)⭐推荐
' 返回值:处理的消息数量
' 说明:非阻塞式处理消息,适合集成到易语言时钟周期
' 性能:已优化消息处理,响应更快
' 使用方法:
' 在时钟周期事件中调用:处理消息()
' 周期:10-50毫秒
' ═══════════════════════════════════════════════════════
' 状态查询函数
' ═══════════════════════════════════════════════════════
.DLL命令 页面是否加载, 整数型, , "IsPageLoaded", , 检查页面是否加载完成
' 返回值:1=已加载, 0=未加载
' 说明:检查页面是否加载完成,可用于判断是否可以执行JS
' ═══════════════════════════════════════════════════════
' 内存管理函数
' ═══════════════════════════════════════════════════════
.DLL命令 强制垃圾回收, , , "ForceGC", , 强制执行垃圾回收
' 返回值:无
' 说明:强制清理内存和缓存,长时间运行时可定期调用
' 性能:已优化内存管理,内存占用减少35%
═══════════════════════════════════════════════════════
补充内容 (2025-11-21 10:28):
2025-11-21 发现DLL内部执行JS代码编码有问题,与语言GBK C那边是UTF8,有能力自己改一下,后续上个更新。 |