易语言将电脑任务栏透明化的代码

DLL命令表

.版本 2

.DLL命令 寻找顶级窗口, 整数型, "user32", "FindWindowA", , 寻找窗口列表中第一个符合指定条件的顶级窗口(在vb里使用:FindWindow最常见的一个用途是获得ThunderRTMain类的隐藏窗口的句柄;该类是所有运行中vb执行程序的一部分。获得句柄后,可用api函数GetWindowText取得这个窗口的名称;该名也是应用程序的标题) 找到窗口的句柄。如未找到相符窗口,则返回零。会设置GetLastError

.参数 窗口类名, 文本型, , 指向包含了窗口类名的空中止(C语言)字串的指针;或设为零,表示接收任何类

.参数 窗口标题, 文本型, , 指向包含了窗口文本(或标签)的空中止(C语言)字串的指针;或设为零,表示接收任何窗口标题 示例Dim hw&

.DLL命令 设置透明, 整数型, , "SetLayeredWindowAttributes"

.参数 窗口句柄, 整数型

.参数 crkey, 整数型

.参数 alpha, 字节型

.参数 dwflags, 整数型

.DLL命令 寻找子窗口, 整数型, "user32", "FindWindowExA", , 在窗口列表中寻找与指定条件相符的第一个子窗口 找到的窗口的句柄。如未找到相符窗口,则返回零。会设置GetLastError

.参数 窗口句柄1, 整数型, , 在其中查找子的父窗口。如设为零,表示使用桌面窗口(通常说的顶级窗口都被认为是桌面的子窗口,所以也会对它们进行查找)

.参数 窗口句柄2, 整数型, , 从这个窗口后开始查找。这样便可利用对FindWindowEx的多次调用找到符合条件的所有子窗口。如设为零,表示从第一个子窗口开始搜索

.参数 欲搜索的类名1, 文本型, , 欲搜索的类名。零表示忽略

.参数 欲搜索的类名2, 文本型, , 欲搜索的类名。零表示忽略;

.DLL命令 取得窗口, 整数型, "user32", "GetWindow", , 获得一个窗口的句柄,该窗口与某源窗口有特定的关系 由wCmd决定的一个窗口的句柄。如没有找到相符窗口,或者遇到错误,则返回零值。会设置GetLastError

.参数 源窗口, 整数型, , 源窗口

.参数 关系, 整数型, , 指定结果窗口与源窗口的关系,它们建立在下述常数基础上:;GW_CHILD=5:寻找源窗口的第一个子窗口;GW_HWNDFIRST=0:为一个源子窗口寻找第一个兄弟(同级)窗口,或寻找第一个顶级窗口;GW_HWNDLAST=1:为一个源子窗口寻找最后一个兄弟(同级)窗口,或寻找最后一个顶级窗口;GW_HWNDNEXT=2:为源窗口寻找下一个兄弟窗口;GW_HWNDPREV=3:为源窗口寻找前一个兄弟窗口;GW_OWNER=4:寻找窗口的所有者;

.DLL命令 取窗体标题, 整数型, , "GetWindowTextA"

.参数 当前窗口句柄, 整数型

.参数 窗口标题, 文本型, 传址

.参数 标题长度, 整数型

.DLL命令 取窗口标题长度, 整数型, "user32", "GetWindowTextLengthA"

.参数 窗口句柄, 整数型

.DLL命令 设置窗口标题, 整数型, "user32", "SetWindowTextA", , 设置窗口的标题文字或控件的内容(在vb里使用:针对vb窗体,应使用caption或text属性) 非零表示成功,零表示失败。会设置GetLastError

.参数 窗口句柄, 整数型, , 要设置文字的窗口的句柄

.参数 窗口标题, 文本型, , 要设到hwnd窗口中的文字;

.DLL命令 取窗口风格, 整数型, , "GetWindowLongA"

.参数 hwnd, 整数型

.参数 nIndex, 整数型

.DLL命令 置窗口风格, 整数型, , "SetWindowLongA"

.参数 hwnd, 整数型

.参数 nindex, 整数型

.参数 hnew, 整数型

任务栏透明化

.版本 2

.程序集 窗口程序集1

.程序集变量 透明度, 整数型

.程序集变量 开始标题, 文本型

.程序集变量 开始句柄, 整数型

.程序集变量 句柄, 整数型

.子程序 __启动窗口_创建完毕

.局部变量 宽度1, 整数型

.局部变量 高度1, 整数型

.局部变量 n, 整数型

.局部变量 风格, 整数型

.局部变量 命令参数, 文本型, , "0"

取命令行 (命令参数)

.判断开始 (取数组成员数 (命令参数) = 1)

.判断开始 (命令参数 [1] = “/S”)

_启动窗口.可视 = 假

时钟1.时钟周期 = 100

.默认

.判断结束

.默认

_启动窗口.可视 = 真

.判断结束

置托盘图标 (_启动窗口.图标, “个性美化桌面”)

透明度 = 到数值 (读配置项 (取运行目录 () + “\zunm.ini”, “桌面”, “透明度”, “255”))

滑块条1.位置 = 透明度

标签2.标题 = 到文本 (透明度)

句柄 = 寻找顶级窗口 (“Shell_TrayWnd”, “”)

风格 = 取窗口风格 (句柄, -20)

风格 = 位或 (风格, 524288)

置窗口风格 (句柄, -20, 风格)

设置透明 (句柄, 0, 透明度, 2)

n = 取得窗口 (句柄, 5)

开始句柄 = 取得窗口 (n, 0)

开始标题 = 读配置项 (取运行目录 () + “\zunm.ini”, “桌面”, “开始标题”, “开始”)

编辑框_当前标题.内容 = 开始标题

.如果真 (取标题 (开始句柄) ≠ 开始标题)

设置窗口标题 (开始句柄, 开始标题)

.如果真结束

.如果 (注册项是否存在 (#本地机器, “SOFTWARE\Microsoft\Windows\CurrentVersion\Run\个性美化桌面”))

选择框1.选中 = 真

.否则

选择框1.选中 = 假

.如果结束

.子程序 取标题, 文本型

.参数 窗口句柄, 整数型

.局部变量 名长, 整数型

.局部变量 名, 文本型

名长 = 取窗口标题长度 (窗口句柄)

.如果真 (名长 ≤ 0)

返回 (“”)

.如果真结束

名 = 取空白文本 (名长)

取窗体标题 (窗口句柄, 名, 名长 + 1)

返回 (名)

.子程序 _按钮_确定_被单击

销毁 ()

.子程序 _按钮_应用_被单击

开始标题 = 到文本 (编辑框_修改标题.内容)

写配置项 (取运行目录 () + “\zunm.ini”, “桌面”, “开始标题”, 开始标题)

设置窗口标题 (开始句柄, 开始标题)

.子程序 _滑块条1_位置被改变

透明度 = 到数值 (滑块条1.位置)

标签2.标题 = 到文本 (透明度)

写配置项 (取运行目录 () + “\zunm.ini”, “桌面”, “透明度”, 到文本 (透明度))

设置透明 (句柄, 0, 透明度, 2)

.子程序 _选择框1_被单击

.如果 (选择框1.选中)

写注册项 (#本地机器, “SOFTWARE\Microsoft\Windows\CurrentVersion\Run\个性美化桌面”, 取运行目录 () + “\” + 取执行文件名 () + “ /S”)

.否则

删除注册项 (#本地机器, “SOFTWARE\Microsoft\Windows\CurrentVersion\Run\个性美化桌面”)

.如果结束

.子程序 _时钟1_周期事件

.如果真 (取标题 (开始句柄) ≠ 开始标题)

编辑框_当前标题.内容 = 开始标题

设置窗口标题 (开始句柄, 开始标题)

.如果真结束

.子程序 __启动窗口_托盘事件

.参数 操作类型, 整数型

.判断开始 (操作类型 = #单击右键)

弹出托盘菜单 (菜单)

.判断 (操作类型 = #单击左键)

.如果 (_启动窗口.位置 ≠ 0)

_启动窗口.位置 = 0 ' 通常

鸣叫 ()

.否则

_启动窗口.位置 = 2 ' 最小化

.如果结束

.默认

.判断结束

.子程序 _显示窗口_被选择

_启动窗口.可视 = 真

.子程序 _隐藏窗口_被选择

_启动窗口.可视 = 假

.子程序 _退出_被选择

销毁 ()

.子程序 __启动窗口_位置被改变

.如果真 (_启动窗口.位置 = 2)

_启动窗口.可视 = 假

.如果真结束

运行结果:

总结

以上是 易语言将电脑任务栏透明化的代码 的全部内容, 来源链接: utcz.com/z/353906.html

回到顶部