|

20精币
[e]
.版本 2
.支持库 HtmlView
.支持库 iext
.支持库 iext3
.支持库 eAPI
.支持库 shell
.支持库 xplib
.支持库 internet
.程序集 窗口程序集2
.程序集变量 动态浏览框, 超文本浏览框, , "0"
.程序集变量 窗口句柄, 整数型
.程序集变量 菜单条, 整数型
.程序集变量 收藏菜单, 整数型
.程序集变量 网址数组, 网址, , "0"
.程序集变量 回调指针, 子程序指针
.程序集变量 homepage, 文本型
.子程序 窗口布局调整
.局部变量 i, 整数型
状态条1.宽度 = _启动窗口.取用户区宽度 ()
状态条1.置宽度 (0, 状态条1.宽度 - 520)
标签选择夹.左边 = 0
标签选择夹.顶边 = 68
标签选择夹.宽度 = _启动窗口.取用户区宽度 ()
标签选择夹.高度 = _启动窗口.取用户区高度 () - 87
源浏览框.左边 = 0
源浏览框.顶边 = 24
源浏览框.宽度 = 标签选择夹.取用户区宽度 ()
源浏览框.高度 = 标签选择夹.取用户区高度 ()
.如果真 (全屏显示.选中 = 假)
' 返回 ()
.如果真结束
.如果真 (取数组成员数 (动态浏览框) > 0)
.计次循环首 (取数组成员数 (动态浏览框), i)
动态浏览框 .左边 = 0
动态浏览框 .顶边 = 24
动态浏览框 .宽度 = 源浏览框.宽度
动态浏览框 .高度 = 源浏览框.高度
.计次循环尾 ()
.如果真结束
.子程序 取网站IP地址
.参数 网址, 文本型
.局部变量 网络主机名, 文本型
.局部变量 temp, 文本型
输出调试文本 (网址)
状态条1.置文本 (1, “获取主机IP中....”)
.如果 (到小写 (取文本左边 (网址, 7)) = “http://”)
temp = 取文本右边 (网址, 取文本长度 (网址) - 7)
.否则
temp = 网址
.如果结束
.如果 (寻找文本 (temp, “/”, , 假) = -1)
网络主机名 = temp
.否则
网络主机名 = 取文本左边 (temp, 寻找文本 (temp, “/”, , 假) - 1)
.如果结束
状态条1.置文本 (2, 网络主机名)
.如果真 (网络主机名 = “”)
状态条1.置文本 (2, “本机IP地址”)
.如果真结束
处理事件 ()
状态条1.置文本 (1, 取IP地址 (网络主机名))
.子程序 新建浏览窗口
.参数 浏览网址, 文本型
.局部变量 窗口数, 整数型
.局部变量 i, 整数型
窗口数 = 取数组成员数 (动态浏览框)
.如果真 (窗口数 > 9)
信息框 (“程序限制最多打开10个窗口”, 0, “错误”)
返回 ()
.如果真结束
重定义数组 (动态浏览框, 真, 窗口数 + 1)
复制窗口组件 (源浏览框, 动态浏览框 [窗口数 + 1])
.计次循环首 (窗口数 + 1, i)
动态浏览框 .可视 = 假
.计次循环尾 ()
标签选择夹.加入子夹 (浏览网址, , , , )
标签选择夹.现行子夹 = 标签选择夹.取子夹数目 () - 1
动态浏览框 [窗口数 + 1].可视 = 真
动态浏览框 [窗口数 + 1].地址 = 浏览网址
动态浏览框 [窗口数 + 1].左边 = 0
动态浏览框 [窗口数 + 1].顶边 = 24
动态浏览框 [窗口数 + 1].宽度 = 标签选择夹.取用户区宽度 ()
动态浏览框 [窗口数 + 1].高度 = 标签选择夹.取用户区高度 ()
.子程序 __启动窗口_创建完毕
.局部变量 收藏夹路径, 文本型
窗口句柄 = _启动窗口.取窗口句柄 ()
菜单条 = 取菜单句柄API (窗口句柄)
收藏菜单 = 取子菜单句柄API (菜单条, 3)
收藏夹路径 = 取特定目录 (#我的收藏夹)
搜索网址 (收藏夹路径, 收藏菜单, 3)
回调指针 = SetWindowLong (窗口句柄, -4, &拦截消息)
输出调试文本 (菜单条, 收藏菜单, 收藏夹路径)
XP风格 (3)
homepage = 取文本注册项 (#现行用户, “Software\Microsoft\Internet Explorer\Main\Start Page”, )
地址.内容 = homepage
重定义数组 (动态浏览框, 假, 1)
复制窗口组件 (源浏览框, 动态浏览框 [1])
标签选择夹.现行子夹 = 0
动态浏览框 [1].跳转 (homepage, , )
动态浏览框 [1].可视 = 真
.子程序 _地址_按下某键, 逻辑型
.参数 键代码, 整数型
.参数 功能键状态, 整数型
.如果真 (键代码 = #回车键)
新建浏览窗口 (地址.内容)
取网站IP地址 (地址.内容)
.如果真结束
.子程序 _源浏览框_状态文本被改变
.局部变量 a, 整数型
a = 标签选择夹.现行子夹
.如果真 (a < 0)
a = 0
.如果真结束
状态条1.置文本 (0, 动态浏览框 [a + 1].状态条文本)
.子程序 _标签选择夹_子夹被改变
.局部变量 a, 整数型
.局部变量 i, 整数型
a = 标签选择夹.现行子夹
地址.内容 = 动态浏览框 [a + 1].地址
.如果真 (a < 0)
a = 0
.如果真结束
.计次循环首 (取数组成员数 (动态浏览框), i)
动态浏览框 .可视 = 假
' 输出调试文本 (i)
.计次循环尾 ()
.如果 (取数组成员数 (动态浏览框) < a + 1)
标签选择夹.现行子夹 = a - 1
动态浏览框 [a].可视 = 真
.否则
动态浏览框 [a + 1].可视 = 真
.如果结束
取网站IP地址 (地址.内容)
.子程序 _源浏览框_标题被改变
.局部变量 i, 整数型
输出调试文本 (取数组成员数 (动态浏览框), 标签选择夹.取子夹数目 ())
.计次循环首 (标签选择夹.取子夹数目 (), i)
标签选择夹.置子夹名称 (i - 1, 动态浏览框 .标题)
.计次循环尾 ()
_启动窗口.标题 = 动态浏览框 [标签选择夹.现行子夹 + 1].标题
.子程序 _标签选择夹_被双击, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型
关闭网页窗口 ()
.子程序 关闭网页窗口
.局部变量 a, 整数型
.局部变量 临时数组, 超文本浏览框, , "0"
.局部变量 i, 整数型
a = 标签选择夹.现行子夹
.如果 (标签选择夹.删除子夹 (a) = 假)
动态浏览框 [a + 1].跳转 (“about:blank”, , )
.否则
标签选择夹.现行子夹 = a - 1
删除成员 (动态浏览框, a + 1, )
.如果结束
.如果 (标签选择夹.取子夹数目 () = 1)
' 标签选择夹.隐藏子夹 (0, 假)
' 动态浏览框 [1].可视 = 真
.否则
.如果结束
窗口布局调整 ()
.子程序 _标准按钮工具条_被单击
.参数 按钮索引, 整数型
.如果真 (按钮索引 = 0)
.如果真结束
.如果真 (按钮索引 = 1)
动态浏览框 [标签选择夹.现行子夹 + 1].执行命令 (#后退)
.如果真结束
.如果真 (按钮索引 = 2)
动态浏览框 [标签选择夹.现行子夹 + 1].执行命令 (#前进)
.如果真结束
.如果真 (按钮索引 = 3)
动态浏览框 [标签选择夹.现行子夹 + 1].执行命令 (#停止)
.如果真结束
.如果真 (按钮索引 = 4)
动态浏览框 [标签选择夹.现行子夹 + 1].执行命令 (#刷新)
.如果真结束
.如果真 (按钮索引 = 5)
动态浏览框 [标签选择夹.现行子夹 + 1].执行命令 (#到首页)
.如果真结束
.如果真 (按钮索引 = 6)
.如果真结束
.如果真 (按钮索引 = 7)
弹出菜单 (收藏, , )
.如果真结束
.如果真 (按钮索引 = 8)
.如果真结束
.如果真 (按钮索引 = 9)
.如果真结束
.如果真 (按钮索引 = 10)
动态浏览框 [标签选择夹.现行子夹 + 1].执行命令 (#打印)
.如果真结束
.如果真 (按钮索引 = 11)
.如果真结束
.子程序 _标准按钮工具条_被下拉
.参数 按钮索引, 整数型
.参数 下拉横座标, 整数型
.参数 下拉纵座标, 整数型
.如果真 (按钮索引 = 1)
' 后退
.如果真结束
.如果真 (按钮索引 = 2)
' 前进
.如果真结束
.如果真 (按钮索引 = 7)
' 收藏夹
.如果真结束
.如果真 (按钮索引 = 12)
' 工具
.如果真结束
.子程序 _查找在当前页_被选择
动态浏览框 [标签选择夹.现行子夹 + 1].执行命令 (#到搜索页)
.子程序 _源浏览框_即将跳转, 逻辑型
地址.内容 = 动态浏览框 [标签选择夹.现行子夹 + 1].地址
取网站IP地址 (地址.内容)
.子程序 _页面_被选择
新建浏览窗口 (“about:blank”)
.子程序 _另存为_被选择
动态浏览框 [标签选择夹.现行子夹 + 1].执行命令 (#另存为)
.子程序 _页面设置_被选择
动态浏览框 [标签选择夹.现行子夹 + 1].执行命令 (#页面设置)
.子程序 _打印_被选择
动态浏览框 [标签选择夹.现行子夹 + 1].执行命令 (#打印)
.子程序 _打印预览_被选择
动态浏览框 [标签选择夹.现行子夹 + 1].执行命令 (#打印预览)
.子程序 _脱机工作_被选择
动态浏览框 [标签选择夹.现行子夹 + 1].离线浏览 = 取反 (动态浏览框 [标签选择夹.现行子夹 + 1].离线浏览)
脱机工作.选中 = 动态浏览框 [标签选择夹.现行子夹 + 1].离线浏览
.子程序 _退出_被选择
窗口2.销毁 ()
.子程序 _转到_被选择
.局部变量 转到地址, 文本型
.如果真 (输入框 (“请输入要转到的地址:”, “转到”, 地址.内容, 转到地址, ))
.如果真 (转到地址 ≠ “” 且 转到地址 ≠ 地址.内容)
动态浏览框 [标签选择夹.现行子夹 + 1].跳转 (转到地址, , )
.如果真结束
.如果真结束
.子程序 _停止_被选择
动态浏览框 [标签选择夹.现行子夹 + 1].执行命令 (#停止)
.子程序 _刷新_被选择
动态浏览框 [标签选择夹.现行子夹 + 1].执行命令 (#刷新)
.子程序 _状态栏_被选择
状态栏.选中 = 取反 (状态栏.选中)
状态条1.可视 = 状态栏.选中
.子程序 _最小_被选择
.局部变量 i, 整数型
.如果真 (最小.选中 = 假)
最小.选中 = 真
较小.选中 = 假
中.选中 = 假
较大.选中 = 假
最大.选中 = 假
.计次循环首 (取数组成员数 (动态浏览框), i)
动态浏览框 .字体大小 = 0
.计次循环尾 ()
.如果真结束
.子程序 _较小_被选择
.局部变量 i, 整数型
.如果真 (较小.选中 = 假)
较小.选中 = 真
最小.选中 = 假
中.选中 = 假
较大.选中 = 假
最大.选中 = 假
.计次循环首 (取数组成员数 (动态浏览框), i)
动态浏览框 .字体大小 = 1
.计次循环尾 ()
.如果真结束
.子程序 _中_被选择
.局部变量 i, 整数型
.如果真 (中.选中 = 假)
中.选中 = 真
最小.选中 = 假
较小.选中 = 假
较大.选中 = 假
最大.选中 = 假
.计次循环首 (取数组成员数 (动态浏览框), i)
动态浏览框 .字体大小 = 2
.计次循环尾 ()
.如果真结束
.子程序 _较大_被选择
.局部变量 i, 整数型
.如果真 (较大.选中 = 假)
较大.选中 = 真
最小.选中 = 假
中.选中 = 假
较小.选中 = 假
最大.选中 = 假
.计次循环首 (取数组成员数 (动态浏览框), i)
动态浏览框 .字体大小 = 3
.计次循环尾 ()
.如果真结束
.子程序 _最大_被选择
.局部变量 i, 整数型
.如果真 (最大.选中 = 假)
最大.选中 = 真
最小.选中 = 假
中.选中 = 假
较大.选中 = 假
较小.选中 = 假
.计次循环首 (取数组成员数 (动态浏览框), i)
动态浏览框 .字体大小 = 4
.计次循环尾 ()
.如果真结束
.子程序 _源文件_被选择
temp = HTTP读文件 (动态浏览框 [标签选择夹.现行子夹 + 1].地址)
载入 (源代码, , 假)
.子程序 _Internet选项_被选择
运行 (取特定目录 (#Windows系统目录) + “control.exe inetcpl.cpl”, 真, )
.子程序 _全屏显示_被选择
全屏显示.选中 = 取反 (全屏显示.选中)
.如果 (全屏显示.选中 = 真)
动态浏览框 [标签选择夹.现行子夹 + 1].置父窗口 (_启动窗口.取窗口句柄 ())
动态浏览框 [标签选择夹.现行子夹 + 1].左边 = 0
动态浏览框 [标签选择夹.现行子夹 + 1].顶边 = 0
动态浏览框 [标签选择夹.现行子夹 + 1].宽度 = _启动窗口.取用户区宽度 ()
动态浏览框 [标签选择夹.现行子夹 + 1].高度 = _启动窗口.取用户区高度 () - 状态条1.高度 - 2
.否则
动态浏览框 [标签选择夹.现行子夹 + 1].置父窗口 (标签选择夹.取窗口句柄 ())
动态浏览框 [标签选择夹.现行子夹 + 1].左边 = 源浏览框.左边
动态浏览框 [标签选择夹.现行子夹 + 1].顶边 = 源浏览框.顶边
动态浏览框 [标签选择夹.现行子夹 + 1].宽度 = 源浏览框.宽度
动态浏览框 [标签选择夹.现行子夹 + 1].高度 = 源浏览框.高度
.如果结束
.子程序 _关于_被选择
信息框 (“by orayer”, #信息图标 + 0, “版权所有”)
.子程序 _源浏览框_即将打开新窗口, 逻辑型
.局部变量 新地址, 文本型
新地址 = 动态浏览框 [标签选择夹.现行子夹 + 1].状态条文本
.如果 (新地址 = “”)
返回 (取反 (禁止弹窗.选中)) ' 禁止所有自动弹窗
.否则
新建浏览窗口 (新地址)
取网站IP地址 (新地址)
.如果结束
.子程序 __启动窗口_尺寸被改变
窗口布局调整 ()
.子程序 _源浏览框_载入进度改变
.参数 进度百分比, 整数型
状态条1.置文本 (4, 到文本 (进度百分比) + “%”)
.如果 (进度百分比 ≠ 100)
状态条1.置文本 (3, “载入中...”)
.否则
状态条1.置文本 (3, “载入完毕”)
.如果结束
.子程序 搜索网址, 整数型, , 递归程序
.参数 路径, 文本型
.参数 父菜单
.参数 序号, , , 开始插入菜单项的位置
.局部变量 文件名, 文本型
.局部变量 子菜单
.局部变量 弹出菜单句柄
.局部变量 当前网址, 网址
处理事件 ()
.如果真 (取文本右边 (路径, 1) ≠ “\”)
路径 = 路径 + “\”
.如果真结束
文件名 = 寻找文件 (路径 + “*.*”, #子目录)
.判断循环首 (文件名 ≠ “”)
处理事件 ()
.如果真 (取文本左边 (文件名, 1) ≠ “.”)
弹出菜单句柄 = 创建弹出菜单API ()
子菜单 = 搜索网址 (路径 + 文件名, 弹出菜单句柄, 0) ' 递归调用
插入菜单项API (父菜单, 序号, 1024 + 16, 子菜单, 文件名) ' 加16表示插入的是一个弹出菜单
序号 = 序号 + 1
.如果真结束
文件名 = 寻找文件 (, #子目录)
.判断循环尾 ()
文件名 = 寻找文件 (路径 + “*.url”, )
.判断循环首 (文件名 ≠ “”)
处理事件 ()
当前网址.句柄 = 父菜单
当前网址.URL = 读配置项 (路径 + 文件名, “InternetShortcut”, “URL”, )
当前网址.ID = 序号
加入成员 (网址数组, 当前网址)
文件名 = 子文本替换 (文件名, “.url”, , , , 假)
插入菜单项API (父菜单, 序号, 1024, 序号, 文件名)
序号 = 序号 + 1
文件名 = 寻找文件 (, )
.判断循环尾 ()
返回 (父菜单)
.子程序 拦截消息, 整数型, , 不要修改该子程序的返回值及参数的类型!
.参数 句柄, 整数型
.参数 消息, 整数型
.参数 参数1, 整数型
.参数 参数2, 整数型
.局部变量 H
.局部变量 L
.局部变量 n
.局部变量 url, 文本型, 静态
.判断开始 (消息 = 273) ' WM_COMMAND
' 超文本浏览框1.跳转 (url, , )
' 动态浏览框 [标签选择夹.现行子夹 + 1].跳转 (url, , )
.默认
.判断结束
.判断开始 (消息 = 287) ' WM_MENUSELECT 用户选择一条菜单项
取高低位 (参数1, H, L)
.计次循环首 (取数组成员数 (网址数组), n)
.如果 (网址数组 [n].句柄 = 参数2 且 网址数组 [n].ID = L 且 H = 0)
url = 网址数组 [n].URL
状态条1.置文本 (0, url)
动态浏览框 [标签选择夹.现行子夹 + 1].跳转 (url, , )
跳出循环 ()
.否则
状态条1.置文本 (0, “”)
.如果结束
处理事件 ()
.计次循环尾 ()
.默认
.判断结束
返回 (CallWindowProc (回调指针, 窗口句柄, 消息, 参数1, 参数2)) ' 把不需要处理的消息传递给默认窗口处理程序,使窗口能正常响应消息
.子程序 取高低位
.参数 被拆分的整数, 整数型, , 要被拆分的整数。
.参数 高16位, 整数型, 参考, 成功拆分后,从这里取得高16位代表的数值。
.参数 低16位, 整数型, 参考, 成功拆分后,从这里取得低16位代表的数值。
高16位 = 位与 (被拆分的整数, 65280) ÷ 256
低16位 = 位与 (被拆分的整数, 255)
.子程序 _QQ强行聊天工具_被选择
.局部变量 QQUIN, 文本型
.如果真 (输入框 (“请输入对方的QQ号码:”, “QQ强行聊天工具”, “445233566”, QQUIN, #整数型))
.如果真 (取文本长度 (QQUIN) < 5 或 取文本长度 (QQUIN) > 9)
信息框 (“请输入正确的QQ号码!”, 0, )
返回 ()
.如果真结束
超级链接框1.Internet地址 = “tencent://message?uin=” + QQUIN
超级链接框1.跳转 ()
.如果真结束
.子程序 _记事本_被选择
运行 (“notepad.exe”, 假, )
.子程序 _计算器_被选择
运行 (“calc.exe”, 假, )
.子程序 _画图_被选择
运行 (“mspaint.exe”, 假, )
.子程序 _注册表编辑器_被选择
运行 (“regedit.exe”, 假, )
.子程序 _计算机管理_被选择
运行 (“mmc.exe /s ” + 取特定目录 (#Windows系统目录) + “compmgmt.msc”, 假, )
.子程序 _系统配置程序_被选择
运行 (“msconfig.exe”, 假, )
.子程序 _命令提示符_被选择
运行 (“CMD.exe”, 假, )
.子程序 _远程桌面连接_被选择
运行 (“mstsc.exe”, 假, )
.子程序 _策略编辑器_被选择
运行 (“mmc.exe ” + 取特定目录 (#Windows系统目录) + “gpedit.msc”, 假, )
.子程序 _超级按钮1_被单击
.如果真 (搜索引擎.现行选中项 = 0)
' baidu
动态浏览框 [标签选择夹.现行子夹 + 1].跳转 (“http://www.baidu.com/s?cl=3&wd=” + 地址.内容, , )
.如果真结束
.如果真 (搜索引擎.现行选中项 = 1)
' google
动态浏览框 [标签选择夹.现行子夹 + 1].跳转 (“http://www.google.cn/search?complete=1&hl=zh-CN&btnG=Google+%E6%90%9C%E7%B4%A2&meta=&q=” + 地址.内容, , )
.如果真结束
.如果真 (搜索引擎.现行选中项 = 2)
' xunlei
动态浏览框 [标签选择夹.现行子夹 + 1].跳转 (“http://www.gougou.com/search?suffix=&restype=-1&id=2&search=” + 地址.内容, , )
.如果真结束
.子程序 _Windows安装程序管理器_被选择
运行 (取运行目录 () + “\tools\myuninstall.exe”, 假, )
.子程序 _MD5计算器_被选择
载入 (窗口1, , 假)
.子程序 _禁止弹窗_被选择
禁止弹窗.选中 = 取反 (禁止弹窗.选中)
.子程序 __启动窗口_位置被改变
窗口布局调整 ()
[/e]
其实我找了很久都没有找到问题,话说写一个多标签的浏览器那么难么?
补充内容 (2013-7-19 11:39):
地址在6楼 |
|