搜了整个都没有火山获取窗口透明度的代码,就写了一个
本帖最后由 朕的 于 2026-4-5 19:34 编辑搜索火山和利快和精易都没有,只有设置没有获取的,自己写一个开源
<火山程序 类型 = "通常" 版本 = 1 />
类 窗口透明度工具 <公开 折叠 @全局类 = 真>
{
# 获取窗口透明度
方法 获取窗口透明度 <公开 静态 类型 = 整数 折叠>
参数 窗口句柄 <类型 = 变整数>
{
变量 透明度 <类型 = 整数>
变量 颜色键 <类型 = 整数>
变量 标志 <类型 = 整数>
// 检查窗口是否是分层窗口
如果 (位与 (GetWindowLong (窗口句柄, -20), 524288) != 0)
{
// 获取分层窗口属性
如果 (GetLayeredWindowAttributes (窗口句柄, 取变量地址 (颜色键), 取变量地址 (透明度), 取变量地址 (标志)))
{
返回 (透明度)
}
}
返回 (255)// 默认不透明
}
# DLL函数声明
方法 GetWindowLong <公开 静态 类型 = 整数 @视窗.输入 = "user32.dll?GetWindowLongA">
参数 hWnd <类型 = 变整数>
参数 nIndex <类型 = 整数>
方法 GetLayeredWindowAttributes <公开 静态 类型 = 逻辑型 @视窗.输入 = "user32.dll?GetLayeredWindowAttributes">
参数 hWnd <类型 = 变整数>
参数 crKey <类型 = 变整数 "">
参数 bAlpha <类型 = 变整数 "">
参数 dwFlags <类型 = 变整数 "">
}
:loveliness:
多谢楼主分享哟
多谢楼主分享哟
页:
[1]