桌面小魔术1.0
.版本 2
.子程序 __启动窗口_创建完毕
.局部变量 类名, 文本型
.局部变量 句柄, 整数型
.局部变量 窗口标题, 文本型
.局部变量 窗口矩形, 矩形
.局部变量 桌面文本颜色, 整数型
.局部变量 桌面文本背景色, 整数型
.局部变量 桌面工作区矩形, 矩形
图标大小 = 76
关机组合框.加入项目 (“注销”, )
关机组合框.加入项目 (“强制关闭无响应进程”, )
关机组合框.加入项目 (“重新启动”, )
关机组合框.加入项目 (“关机”, )
关机组合框.现行选中项 = 0
桌面列表 = 取桌面列表 ()
.如果真 (桌面列表 = 0)
信息框 (“Can't Find DESKTOP LISTVIEW!!”, 0, )
.如果真结束
文本颜色选择器.颜色 = 发送消息_整数 (桌面列表, #列表_取文本颜色, 0, 0)
.如果 (发送消息_整数 (桌面列表, #列表_取文本背景色, 0, 0) = -1)
文本背景色选择器.颜色 = #透明
.否则
文本背景色选择器.颜色 = 发送消息_整数 (桌面列表, #列表_取文本背景色, 0, 0)
.如果结束
可视 = 真
桌面图标个数 = 发送消息_整数 (桌面列表, #列表_取项目数, 0, 0)
.如果真 (桌面图标个数 = 0)
信息框 (“No Icons on DeskTop!!”, 0, )
.如果真结束
桌面 = 取桌面句柄 ()
.如果真 (桌面 = 0)
信息框 (“Can't Find DeskTop!!”, 0, )
.如果真结束
.如果 (系统参数信息_矩形 (#系统参数信息_取工作区矩形, 0, 桌面工作区矩形, 0))
桌面宽度 = 桌面工作区矩形.右 - 桌面工作区矩形.左
桌面高度 = 桌面工作区矩形.下 - 桌面工作区矩形.上
.否则
信息框 (“Can't Get the DESKTOP WORKAREA!!”, 0, )
.如果结束
' 输出调试文本 (“桌面宽度: 桌面高度:”)
' 输出调试文本 (到文本 (桌面宽度) + “ ” + 到文本 (桌面高度))
任务栏 = 寻找窗口 (“Shell_TrayWnd”, “”)
.如果真 (任务栏 = 0)
信息框 (“Can't Find TASKBAR !!”, 0, )
.如果真结束
句柄 = 寻找子窗口 (任务栏, #窗口关系_子窗口)
.判断循环首 (句柄 ≠ 0)
类名 = 取空白文本 (255)
取窗口类名 (句柄, 类名, 255)
.如果真 (到小写 (取文本左边 (类名, 6)) = “button”)
开始按钮 = 句柄
.如果真结束
.如果真 (到小写 (取文本左边 (类名, 4)) = “tray”)
系统托盘 = 句柄
.如果真结束
句柄 = 寻找子窗口 (句柄, #窗口关系_下一个同级窗口)
.判断循环尾 ()
.如果真 (开始按钮 = 0)
信息框 (“Can't Find START BUTTON!!”, 0, )
.如果真结束
.如果真 (系统托盘 = 0)
信息框 (“Can't Find SYSTEM TRAY!!”, 0, )
.如果真结束
假开始按钮句柄 = 假开始按钮.取窗口句柄 ()
.如果真 (假开始按钮句柄 = 0)
信息框 (“Can't Find the False START BUTTON!!”, 0, )
.如果真结束
句柄 = 寻找窗口 (“BaseBar”, “”)
.判断循环首 (句柄 ≠ 0)
取窗口矩形 (句柄, 窗口矩形)
类名 = 取空白文本 (255)
取窗口类名 (句柄, 类名, 250)
输出调试文本 (类名 + “ ” + 到文本 (句柄))
输出调试文本 (“left=” + 到文本 (窗口矩形.左) + “ right=” + 到文本 (窗口矩形.右))
输出调试文本 (“top=” + 到文本 (窗口矩形.上) + “ bottum=” + 到文本 (窗口矩形.下))
.如果真 (类名 = “BaseBar”)
.如果 (窗口矩形.左 = 2 或 窗口矩形.左 = 0)
开始菜单 = 句柄
跳出循环 ()
.否则
.如果结束
.如果真结束
句柄 = 寻找子窗口 (句柄, #窗口关系_下一个同级窗口)
.判断循环尾 ()
.如果真 (开始菜单 = 0)
信息框 (“Can't Find START MENU!!”, 0, )
.如果真结束
置窗口位置 (开始菜单, 0, 0, 0, 0, 0, #位置_保持当前列表位置)
.如果真 (开始菜单 ≠ 0)
' 信息框 (“Successfully Found START MENU -> ” + 到文本 (开始菜单) + #换行符 + “left=” + 到文本 (窗口矩形.左) + “ right=” + 到文本 (窗口矩形.右) + #换行符 + “top=” + 到文本 (窗口矩形.上) + “ bottum=” + 到文本 (窗口矩形.下), 0, “TEST”)
.如果真结束
假开始按钮左边 = 假开始按钮.左边
假开始按钮顶边 = 假开始按钮.顶边