我是靠谱客的博主 成就发卡,最近开发中收集的这篇文章主要介绍易语言将电脑任务栏透明化的代码,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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”, “桌面”, “开始标题”, “开始”)
编辑框_当前标题.内容 = 开始标题
.如果真 (取标题 (开始句柄) ≠ 开始标题)
  设置窗口标题 (开始句柄, 开始标题)
.如果真结束
.如果 (注册项是否存在 (#本地机器, “SOFTWAREMicrosoftWindowsCurrentVersionRun个性美化桌面”))
  选择框1.选中 = 真
.否则
  选择框1.选中 = 假
.如果结束
.子程序 取标题, 文本型
.参数 窗口句柄, 整数型
.局部变量 名长, 整数型
.局部变量 名, 文本型
名长 = 取窗口标题长度 (窗口句柄)
.如果真 (名长 ≤ 0)
  返回 (“”)
.如果真结束
名 = 取空白文本 (名长)
取窗体标题 (窗口句柄, 名, 名长 + 1)
返回 (名)
.子程序 _按钮_确定_被单击
销毁 ()
.子程序 _按钮_应用_被单击
开始标题 = 到文本 (编辑框_修改标题.内容)
写配置项 (取运行目录 () + “zunm.ini”, “桌面”, “开始标题”, 开始标题)
设置窗口标题 (开始句柄, 开始标题)
.子程序 _滑块条1_位置被改变
透明度 = 到数值 (滑块条1.位置)
标签2.标题 = 到文本 (透明度)
写配置项 (取运行目录 () + “zunm.ini”, “桌面”, “透明度”, 到文本 (透明度))
设置透明 (句柄, 0, 透明度, 2)
.子程序 _选择框1_被单击
.如果 (选择框1.选中)
  写注册项 (#本地机器, “SOFTWAREMicrosoftWindowsCurrentVersionRun个性美化桌面”, 取运行目录 () + “” + 取执行文件名 () + “ /S”)
.否则
  删除注册项 (#本地机器, “SOFTWAREMicrosoftWindowsCurrentVersionRun个性美化桌面”)
.如果结束
.子程序 _时钟1_周期事件
.如果真 (取标题 (开始句柄) ≠ 开始标题)
  编辑框_当前标题.内容 = 开始标题
  设置窗口标题 (开始句柄, 开始标题)
.如果真结束
.子程序 __启动窗口_托盘事件
.参数 操作类型, 整数型
.判断开始 (操作类型 = #单击右键)
  弹出托盘菜单 (菜单)
.判断 (操作类型 = #单击左键)
  .如果 (_启动窗口.位置 ≠ 0)
    _启动窗口.位置 = 0 ' 通常
    鸣叫 ()
  .否则
    _启动窗口.位置 = 2 ' 最小化
  .如果结束
.默认
.判断结束
.子程序 _显示窗口_被选择
_启动窗口.可视 = 真
.子程序 _隐藏窗口_被选择
_启动窗口.可视 = 假
.子程序 _退出_被选择
销毁 ()
.子程序 __启动窗口_位置被改变
.如果真 (_启动窗口.位置 = 2)
  _启动窗口.可视 = 假
.如果真结束

运行结果:

总结

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

最后

以上就是成就发卡为你收集整理的易语言将电脑任务栏透明化的代码的全部内容,希望文章能够帮你解决易语言将电脑任务栏透明化的代码所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(83)

评论列表共有 0 条评论

立即
投稿
返回
顶部