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