开源网络收集的78个皮肤开源及示例
功能说明:该程序是一个基于易语言开发的界面皮肤美化与管理模块,主要封装了 SkinH 皮肤引擎的相关功能。程序的核心目的是为易语言编写的软件提供丰富的界面定制能力,包括皮肤加载、颜色调整、透明效果设置以及控件样式修改等。
从程序集变量来看,该模块维护了大量状态信息,包括当前加载的皮肤数据(当前皮肤)、色调(当前色调)、饱和度(当前饱和度)、亮度(当前亮度)、透明度(当前透明度)、高级透明开关(当前高级透明)以及 Aero 特效相关参数(如阴影大小、水平/垂直偏移、RGB 分量等)。这表明程序支持高度动态的界面调整,并能够记录当前的皮肤配置状态。此外,还定义了定时皮肤变量,暗示可能支持皮肤定时切换功能。
主要功能子程序分析如下:
1. 初始化与加载机制:
程序通过"_启动子程序"在启动时加载必要的 DLL 文件(#dll 文件),初始化 PeLoader 类型的 skin 变量。提供了多种皮肤加载方式:"皮肤_加载默认"从运行目录加载默认的 skinh.she 文件;"皮肤_加载指定"允许加载指定路径的 she 皮肤文件,支持密码保护;"皮肤_资源加载"则支持直接从内存字节集加载皮肤资源,同样支持密码及 HSV 颜色参数。这种设计使得皮肤应用非常灵活,既可独立文件也可嵌入资源。
2. 颜色与视觉效果调整:
"皮肤_颜色设置"子程序允许在不更换皮肤文件的情况下,动态调整界面的色调、饱和度和亮度(HSV 模型),实现一键换色功能。"皮肤_Aero 特效"用于开启或关闭 Windows Aero 玻璃效果。"皮肤_Aero 设置"则提供了更精细的 Aero 控制,包括透明度、亮度、锐度、阴影大小、偏移量以及红绿蓝颜色分量的调整,能够实现个性化的毛玻璃效果。
3. 窗口与控件管理:
"皮肤_设置透明"子程序用于设置特定窗口句柄的透明度。"皮肤_标题菜单"允许开发者自定义窗口标题栏菜单的开启状态、高度以及上下左右偏移量,增强界面布局的灵活性。"皮肤_背景颜色"和"皮肤_文本颜色"针对特定控件句柄(目前注释表明主要对单选框、复选框、分组框有效)设置具体的 RGB 背景色和文本颜色,解决了标准皮肤引擎对个别控件定制不足的问题。
4. 卸载与资源管理:
程序提供了完善的资源清理机制。"皮肤_资源卸载"用于全局卸载当前皮肤,恢复默认样式;"皮肤_卸载指定"则针对特定控件句柄卸载皮肤,适用于混合界面风格的场景。
综上所述,这是一个功能完善的 UI 皮肤中间件模块。它通过封装 SkinH 系列 API 函数(如 SkinH_Attach, SkinH_AdjustHSV, SkinH_SetAero 等),屏蔽了底层调用的复杂性,为易语言开发者提供了一套简洁、高效的接口来实现软件界面的美化、主题切换及视觉效果定制。该模块适用于需要提升软件外观质感、支持多主题切换或需要特定透明/模糊效果的易语言应用程序开发。
======程序集
| |
| |------ _启动子程序
| |
| |------ _临时子程序
| |
| |------ 皮肤_资源加载
| |
| |------ 皮肤_颜色设置
| |
| |------ 皮肤_资源卸载
| |
| |------ 皮肤_设置透明
| |
| |------ 皮肤_Aero特效
| |
| |------ 皮肤_标题菜单
| |
| |------ 皮肤_加载默认
| |
| |------ 皮肤_加载指定
| |
| |------ 皮肤_卸载指定
| |
| |------ 皮肤_Aero设置
| |
| |------ 皮肤_背景颜色
| |
| |------ 皮肤_文本颜色
| |
| |------ 皮肤_换肤类型
| |
| |------ 皮肤_接口文件
| |
| |------ 皮肤_绘画控件
| |
| |------ 皮肤_是否可移
| |
| |------ 皮肤_列表加载
| |
| |------ 皮肤_制定加载
| |
| |------ 皮肤_保存方案
| |
| |------ 皮肤_加载方案
| |
| |------ 皮肤_资源方案
| |
| |------ 皮肤_方案资源
| |
| |------ 皮肤_随机皮肤
| |
| |------ 皮肤_查看方案
| |
| |------ 皮肤_随机配置
| |
| |------ 皮肤_导出方案
| |
| |------ 皮肤_定时更换
| |
| |------ 皮肤_定时停止
| |
| |------ 皮肤_继续更换
| |
| |------ 皮肤_替换程序
| |
| |------ 皮肤_释放内存
| |
| |
======PeLoader
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 加载
| |
| |------ 释放
| |
| |------ 取函数
| |
| |------ 取入口
| |
| |------ 取基址
| |
| |
======功能程序集
| |
| |------ 取地址_字节集
| |
| |------ 取地址_文本型
| |
| |------ Call
| |
| |------ _Call
| |
| |------ _LoadLibrary
| |
| |------ _FreeLibrary
| |
| |------ _GetProcAddress
| |
| |------ _GetEntryPoint
| |
| |------ GetAlignedSize
| |
| |------ DoRelocation
| |
| |------ VirAlloc
| |
| |------ VirFree
| |
| |------ FillRavAddress
| |
| |------ 到文本字节
| |
| |------ 到文本整数
| |
| |
======调用的Dll
| |
| |---[dll]------ lstrcpyn1
| |
| |---[dll]------ lstrcpyn2
| |
| |---[dll]------ lstrcpyn
| |
| |---[dll]------ RtlMoveMemory
| |
| |---[dll]------ RtlMoveMemory_整数_1
| |
| |---[dll]------ RtlMoveMemory_整数_2
| |
| |---[dll]------ RtlMoveMemory_字节集_1
| |
| |---[dll]------ RtlMoveMemory_字节集_2
| |
| |---[dll]------ RtlMoveMemory_数组_整数_1
| |
| |---[dll]------ RtlMoveMemory_数组_整数_2
| |
| |---[dll]------ RtlMoveMemory_短整_1
| |
| |---[dll]------ RtlMoveMemory_短整_2
| |
| |---[dll]------ RtlMoveMemory_IMAGE_DOS_HEADER_1
| |
| |---[dll]------ RtlMoveMemory_IMAGE_DOS_HEADER_2
| |
| |---[dll]------ RtlMoveMemory_IMAGE_NT_HEADERS_1
| |
| |---[dll]------ RtlMoveMemory_IMAGE_NT_HEADERS_2
| |
| |---[dll]------ RtlMoveMemory_IMAGE_SECTION_HEADER_1
| |
| |---[dll]------ RtlMoveMemory_IMAGE_SECTION_HEADER_2
| |
| |---[dll]------ RtlMoveMemory_IMAGE_BASE_RELOCATION_1
| |
| |---[dll]------ RtlMoveMemory_IMAGE_BASE_RELOCATION_2
| |
| |---[dll]------ RtlMoveMemory_IMAGE_IMPORT_DESCRIPTOR_1
| |
| |---[dll]------ RtlMoveMemory_IMAGE_IMPORT_DESCRIPTOR_2
| |
| |---[dll]------ RtlMoveMemory_IMAGE_IMPORT_BY_NAME_1
| |
| |---[dll]------ RtlMoveMemory_IMAGE_IMPORT_BY_NAME_2
| |
| |---[dll]------ RtlMoveMemory_IMAGE_EXPORT_DIRECTORY_1
| |
| |---[dll]------ RtlMoveMemory_IMAGE_EXPORT_DIRECTORY_2
| |
| |---[dll]------ VirtualAlloc
| |
| |---[dll]------ VirtualFree
| |
| |---[dll]------ VirtualProtect
| |
| |---[dll]------ GetProcAddress
| |
| |---[dll]------ LoadLibrary
| |
| |---[dll]------ GetModuleHandle
| |
| |---[dll]------ GetDC
| |
| |---[dll]------ _创建定时器
| |
| |---[dll]------ _销毁定时器
======窗口程序集_启动窗口
| |
| |------ _单选框1_被单击
| |
| |------ _单选框2_被单击
| |
| |------ _单选框3_被单击
| |
| |------ _单选框4_被单击
| |
| |------ _单选框5_被单击
| |
| |------ _单选框6_被单击
| |
| |------ _单选框7_被单击
| |
| |------ _单选框8_被单击
| |
| |------ _单选框9_被单击
| |
| |------ _单选框10_被单击
| |
| |------ _单选框11_被单击
| |
| |------ _单选框12_被单击
| |
| |------ _单选框13_被单击
| |
| |------ _单选框14_被单击
| |
| |------ _单选框15_被单击
| |
| |------ _单选框16_被单击
| |
| |------ _单选框17_被单击
| |
| |------ _单选框18_被单击
| |
| |------ _单选框19_被单击
| |
| |------ _单选框20_被单击
| |
| |------ _单选框21_被单击
| |
| |------ _单选框22_被单击
| |
| |------ _单选框23_被单击
| |
| |------ _单选框24_被单击
| |
| |------ _单选框25_被单击
| |
| |------ _单选框26_被单击
| |
| |------ _单选框27_被单击
| |
| |------ _单选框28_被单击
| |
| |------ _单选框29_被单击
| |
| |------ _单选框30_被单击
| |
| |------ _单选框31_被单击
| |
| |------ _单选框32_被单击
| |
| |------ _单选框33_被单击
| |
| |------ _单选框34_被单击
| |
| |------ _单选框35_被单击
| |
| |------ _单选框36_被单击
| |
| |------ _单选框37_被单击
| |
| |------ _单选框38_被单击
| |
| |------ _单选框39_被单击
| |
| |------ _单选框40_被单击
| |
| |------ _单选框41_被单击
| |
| |------ _单选框42_被单击
| |
| |------ _单选框43_被单击
| |
| |------ _单选框44_被单击
| |
| |------ _单选框45_被单击
| |
| |------ _单选框46_被单击
| |
| |------ _单选框47_被单击
| |
| |------ _单选框48_被单击
| |
| |------ _单选框49_被单击
| |
| |------ _单选框50_被单击
| |
| |------ _单选框51_被单击
| |
| |------ _单选框52_被单击
| |
| |------ _单选框53_被单击
| |
| |------ _单选框54_被单击
| |
| |------ _单选框55_被单击
| |
| |------ _单选框56_被单击
| |
| |------ _单选框57_被单击
| |
| |------ _单选框58_被单击
| |
| |------ _单选框59_被单击
| |
| |------ _单选框60_被单击
| |
| |------ _单选框61_被单击
| |
| |------ _单选框62_被单击
| |
| |------ _单选框63_被单击
| |
| |------ _单选框64_被单击
| |
| |------ _单选框65_被单击
| |
| |------ _单选框66_被单击
| |
| |------ _单选框67_被单击
| |
| |------ _单选框68_被单击
| |
| |------ _单选框69_被单击
| |
| |------ _单选框70_被单击
| |
| |------ _单选框71_被单击
| |
| |------ _单选框72_被单击
| |
| |------ _单选框73_被单击
| |
| |------ _单选框74_被单击
| |
| |------ _单选框75_被单击
| |
| |------ _单选框76_被单击
| |
| |------ _单选框77_被单击
| |
| |------ _单选框78_被单击
| |
| |------ _滑块条1_位置被改变
注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。
使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。