用户登录
用户注册

分享至

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

  • 作者: z楠宝
  • 来源: 51数据库
  • 2020-08-10
今天小编就为大家分享一篇关于易语言将电脑任务栏透明化的代码,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

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)
  _启动窗口.可视 = 假
.如果真结束

运行结果:

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果你想了解更多相关内容请查看下面相关链接

软件
前端设计
程序设计
Java相关