|

分享源码
界面截图: |
|
是否带模块: |
- |
备注说明: |
- |

1:无标签设置与浏览框架内标题不相同{无同步相差} [不要拿我和你们这种不专业的程序员比]
2:标签宽度同意设置为准常量宽度
3: 包括删除标签问题的一些专业性的修改
4:................... // 注释:源代码英文尚多,请注意
代码可抄袭,不可翻版版权- .版本 2
- .程序集 OveMain
- .子程序 _启动子程序, 整数型, , 本子程序在程序启动后最先执行
- Main ()
- 返回 (0) ' 可以根据您的需要返回任意数值
- .子程序 Main
- 载入 (MainForm, , 真)
复制代码- .版本 2
- .支持库 HtmlView
- .支持库 iext3
- .支持库 EThread
- .支持库 iext
- .支持库 eAPI
- .支持库 spec
- .支持库 shell
- .程序集 MainModel
- .程序集变量 MainUI, 自绘皮肤
- .程序集变量 Environment, 文本型
- .程序集变量 Hwnd, 整数型
- .程序集变量 IE, 超文本浏览框, , "0"
- .程序集变量 Thwnd, 整数型
- .子程序 _MainForm_创建完毕
- .局部变量 ztt, 状态栏信息, , "1"
- Environment = 取运行目录 ()
- Hwnd = 取窗口句柄 ()
- _Scr_失去焦点 ()
- WebIco.图片 = #ico
- MainUI.置皮肤 (, { }, , #艳青, #背景图_缩放)
- MainUI.置控件皮肤 (真, 188, 真)
- MainUI.加入窗口 (Hwnd, 24, 真, 假, 假, 真, 真, 真, 24, ztt, #BorderImage, #背景图_平铺)
- MainUI.加入面板 (分组框1.取窗口句柄 (), 真, , 188, 真)
- MainUI.置状态栏字体 (Hwnd, 真, 真, #品红, , , )
- MainUI.置事件_菜单钮被单击 (Hwnd, &OpenMenu)
- NewWindow (#pir)
- ' MainUI.加入面板 (STab.取窗口句柄 (), 真, , 188, 真)
- ' NewWindow (ToString (GetRegedit (3, “SOFTWARE\Microsoft\Internet Explorer\MAIN\Start Page”)))
- .子程序 OpenMenu
- 弹出菜单 (menu, , )
- .子程序 GetRegedit, 字节集, , 获取注册表项目
- .参数 a, 整数型
- .参数 b, 文本型
- 返回 (到字节集 (取文本注册项 (a, b, )))
- .子程序 NewWindow, , , 新的浏览框架
- .参数 url, 文本型
- .局部变量 aa, 超文本浏览框
- .局部变量 index, 整数型
- .局部变量 tmp, 文本型
- 复制窗口组件 (SupremeBrowser, aa)
- 加入成员 (IE, aa)
- index = GetArrayCountBrowser (IE)
- .如果真 (index > 0)
- .计次循环首 (#StrHeith, )
- tmp = tmp + “ ”
- .计次循环尾 ()
- STab.加入子夹 (tmp, , , , )
- STab.现行子夹 = index
- IE [index].标记 = 到文本 (index)
- IE [index].可视 = 真
- IE [index].静默 = 真
- IE [index].跳转 (url, , )
- IE [index].调整层次 ()
- .如果真结束
- .子程序 Navigate, , , 跳转页面
- .参数 Browserindex, 整数型
- .参数 url, 文本型
- .如果真 (Browserindex > 0)
- .如果真 (STab.现行子夹 ≠ Browserindex)
- STab.现行子夹 = Browserindex
- .如果真结束
- IE [Browserindex].跳转 (url, , )
- .如果真结束
- .子程序 SyncTabTitle, , , 同步标签标题
- .局部变量 Count, 整数型
- .局部变量 i, 整数型
- Count = GetArrayCountBrowser (IE)
- .如果真 (Count > 0)
- .计次循环首 (Count, i)
- STab [i].置子夹名称 (i, STab [i].标记)
- .计次循环尾 ()
- STab.刷新显示 ()
- .如果真结束
- .子程序 GetArrayCountBrowser, 整数型, , 获取浏览框架数目
- .参数 CodeArray, 超文本浏览框, 数组
- 返回 (取数组成员数 (CodeArray))
- .子程序 ReadFile, 字节集, , 读入字节流
- .参数 a, 文本型
- 返回 (读入文件 (a))
- .子程序 ReadCfg, 文本型, , 读取Cfg
- .参数 a, 文本型
- .参数 b, 文本型
- 返回 (读配置项 (取运行目录 () + “\bin.cfg”, a, b, ))
- .子程序 WriteCfg, 逻辑型, , 写入Cfg
- .参数 a, 文本型
- .参数 b, 文本型
- .参数 c, 文本型
- 返回 (写配置项 (取运行目录 () + “\bin.cfg”, a, b, c))
- .子程序 Toint, 整数型, , 到整数
- .参数 a, 文本型
- 返回 (到整数 (a))
- .子程序 ToString, 文本型, , 到字符串
- .参数 a, 字节集
- 返回 (到文本 (a))
- .子程序 ToBin, 字节集, , 到字节集
- .参数 a, 整数型
- 返回 (到字节集 (a))
- .子程序 _STab_子夹被改变
- .局部变量 index, 整数型
- index = STab.现行子夹
- .如果真 (index > 0)
- .如果真 (GetArrayCountBrowser (IE) > 0)
- SimultaneousDisplayFran (index)
- SetTheUrlText (index)
- 强制结束线程 (Thwnd)
- 启动线程 (&Trher, , Thwnd)
- .如果真结束
- .如果真结束
- .子程序 SetTheUrlText, , 公开, 设置地址栏内容
- .参数 i, 整数型
- .如果真 (GetArrayCountBrowser (IE) > 0)
- Url.内容 = IE [i].标题
- .如果真结束
- .子程序 SetTheWindthOfTheLable, , , 设置标签宽带
- .参数 ITab, 整数型
- .参数 StrBin, 文本型, , 字符串流数据
- .局部变量 Register, 文本型, , , //无申明 static 而是 code auto 动态调用
- .局部变量 i, 整数型
- .局部变量 ii, 整数型
- .局部变量 rgr, 文本型
- .如果真 (ITab > 0 且 GetArrayCountBrowser (IE) > 0)
- .如果真 (ITab > 0)
- .如果真 (取文本长度 (StrBin) > #StrHeith)
- Register = 取文本左边 (StrBin, #StrHeith - #StrProportion)
- Register = Register + “...”
- STab.置子夹名称 (ITab, Register)
- .如果真结束
- .如果真 (取文本长度 (StrBin) < #StrHeith)
- ii = 取文本长度 (StrBin)
- ii = #StrHeith - ii
- rgr = StrBin
- .计次循环首 (ii ÷ 2, i)
- rgr = “ ” + rgr + “ ”
- .计次循环尾 ()
- STab.置子夹名称 (ITab, rgr)
- .如果真结束
- STab.置子夹提示文本 (ITab, StrBin)
- .如果真结束
- .如果真结束
- .子程序 SimultaneousDisplayFran, , , 同步显示框架
- .参数 BrowserIndex, 整数型
- .局部变量 i, 整数型
- .计次循环首 (GetArrayCountBrowser (IE), i)
- IE [i].可视 = 假
- .计次循环尾 ()
- IE [BrowserIndex].可视 = 真
- IE [BrowserIndex].调整层次 ()
- .子程序 _STab_被双击, 逻辑型
- .参数 横向位置, 整数型
- .参数 纵向位置, 整数型
- .参数 功能键状态, 整数型
- CloseTab (STab.现行子夹)
- .子程序 GetHwnd, 整数型
- .局部变量 cc, 文本型
- 返回 (FindWindowA (cc, 标题))
- .子程序 CloseTab, , , 关闭标签
- .参数 Tabindex, 整数型
- .如果真 (Tabindex > 0 且 GetArrayCountBrowser (IE) > 0)
- .判断开始 (Tabindex > 1)
- IE [Tabindex].销毁 ()
- 删除成员 (IE, Tabindex, 1)
- STab.删除子夹 (Tabindex)
- .判断 (Tabindex = 1 且 GetArrayCountBrowser (IE) > 1)
- IE [Tabindex].销毁 ()
- 删除成员 (IE, Tabindex, 1)
- STab.删除子夹 (Tabindex)
- .默认
- Navigate (GetArrayCountBrowser (IE), #pir)
- ' BrowserExecute (GetArrayCountBrowser (IE), #到首页)
- .判断结束
- SimultaneousDisplayFran (STab.现行子夹)
- .如果真结束
- .子程序 BrowserExecute, , 公开, 执行命令
- .参数 ii, 整数型
- .参数 i, 整数型
- IE [ii].执行命令 (i)
- .子程序 _搜索按钮_被单击
- .如果 (删全部空 (Scr.内容) ≠ #scr 且 删全部空 (Scr.内容) ≠ “”)
- Url.内容 = “http://www.baidu.com/s?wd=” + url_编码 (Scr.内容)
- .否则
- Url.内容 = “http://www.baidu.com/”
- .如果结束
- _NVGoo_被单击 ()
- .子程序 url_编码, 文本型
- .参数 URL, 文本型
- .局部变量 Len, 整数型
- .局部变量 循环容器, 整数型
- .局部变量 Asc, 整数型
- .局部变量 目标, 文本型
- .局部变量 临时, 文本型
- Len = 取文本长度 (URL)
- .变量循环首 (1, Len, 1, 循环容器)
- Asc = 取代码 (URL, 循环容器)
- Asc = 选择 (Asc < 0, 256 + Asc, Asc)
- .如果 (Asc < 42 或 Asc = 43 或 Asc > 57 且 Asc < 64 或 Asc > 90 且 Asc < 95 或 Asc = 96 或 Asc > 122)
- 临时 = 取十六进制文本 (Asc)
- 目标 = 目标 + 选择 (取文本长度 (临时) < 2, “%0” + 临时, “%” + 临时)
- .否则
- 目标 = 目标 + 字符 (Asc)
- .如果结束
- .变量循环尾 ()
- 返回 (目标)
- .子程序 _Scr_失去焦点
- .如果真 (删全部空 (Scr.内容) = “”)
- Scr.内容 = #scr
- .如果真结束
- .子程序 _Scr_获得焦点
- .如果真 (删全部空 (Scr.内容) = #scr)
- Scr.内容 = “”
- .如果真结束
- .子程序 _SupremeBrowser_鼠标左键被按下, 逻辑型
- .参数 横向位置, 整数型
- .参数 纵向位置, 整数型
- .参数 功能键状态, 整数型
- SupremeBrowser.获取焦点 ()
- .子程序 GetLoadUrl, , , 获取载入动态改变的URL
- .如果真 (GetArrayCountBrowser (IE) > 0)
- Url.内容 = IE [STab.现行子夹].地址
- .如果真结束
- .子程序 _SupremeBrowser_载入进度改变
- .参数 进度百分比, 整数型
- ProgressBar.位置 = 进度百分比
- GetLoadUrl ()
- .子程序 _SupremeBrowser_状态文本被改变
- .如果真 (GetArrayCountBrowser (IE) > 0)
- Statusbar.标题 = IE [STab.现行子夹].状态条文本
- .如果真结束
- .子程序 _GoHome_被单击
- .局部变量 i, 整数型
- .如果真 (GetArrayCountBrowser (IE) > 0)
- i = STab.现行子夹
- BrowserExecute (i, #到首页)
- .如果真结束
- .子程序 _SupremeBrowser_标题被改变
- .局部变量 index, 整数型
- .局部变量 Rc, 超文本浏览框
- .局部变量 register, 文本型
- .如果真 (GetArrayCountBrowser (IE) > 0)
- Rc = 取事件组件 ()
- index = Toint (Rc.标记)
- .如果 (Rc.标题 = #cr)
- SetTheWindthOfTheLable (index, #dr)
- .否则
- SetTheWindthOfTheLable (index, Rc.标题)
- .如果结束
- .如果真结束
- .子程序 _NVGoo_被单击
- .局部变量 index, 整数型
- .如果真 (删全部空 (Url.内容) ≠ “”)
- index = STab.现行子夹
- Navigate (index, Url.内容)
- .如果真结束
- .子程序 _SupremeBrowser_即将打开新窗口, 逻辑型
- .局部变量 index, 整数型
- .局部变量 str, 文本型
- .局部变量 Rt, 超文本浏览框
- Rt = 取事件组件 ()
- NewWindow (“”)
- .如果真 (GetArrayCountBrowser (IE) > 0)
- index = STab.现行子夹
- str = Rt.状态条文本
- .如果真 (删全部空 (str) ≠ “” 且 删全部空 (str) ≠ #ower)
- Navigate (index, str)
- .如果真结束
- .如果真结束
- 返回 (假)
- .子程序 _SupremeBrowser_载入完毕
- CE ()
- .子程序 Trher
- .局部变量 str, 文本型
- .局部变量 tmp, 文本型, , "0"
- .局部变量 kc, 文本型
- .局部变量 流, 字节集
- .如果 (是否与互联网连接 () = 真)
- .如果 (GetArrayCountBrowser (IE) > 0)
- str = IE [STab.现行子夹].地址
- tmp = 分割文本 (str, “/”, )
- .如果 (取数组下标 (tmp, ) ≥ 3)
- kc = tmp [1] + tmp [2] + tmp [3]
- kc = kc + “/” + #favicon
- 流 = ReadXMLHTTPFile (“Get”, kc)
- .如果 (流 ≠ { })
- WebIco.图片 = 流
- .否则
- WebIco.图片 = #ico
- .如果结束
- .否则
- WebIco.图片 = #ico
- .如果结束
- .否则
- WebIco.图片 = #ico
- .如果结束
- .否则
- WebIco.图片 = #ico
- .如果结束
- .子程序 ReadXMLHTTPFile, 字节集, , XMLHTTP
- .参数 读取方式, 文本型, 可空, 如果为空则默认使用GET方式否则由使用则自定类型分别为POST_GET
- .参数 地址, 文本型, 可空, 欲被读取的Http网络地址
- .局部变量 对象, 对象
- .局部变量 数据, 字节集
- .如果 (对象.创建 (“Microsoft.XMLHTTP”, ))
- .如果 (是否为空 (读取方式) = 真)
- 对象.方法 (“Open”, “GET”, 地址, 假)
- .否则
- 对象.方法 (“Open”, 读取方式, 地址, 假)
- .如果结束
- 对象.方法 (“Send”, )
- 数据 = 对象.读属性 (“ResponseBody”, ).取字节集 ()
- 返回 (数据)
- .否则
- 返回 (到字节集 (“”))
- .如果结束
- .子程序 CE
- ProgressBar.位置 = ProgressBar.最小位置
- .子程序 _SupremeBrowser_跳转完毕
- CE ()
- 强制结束线程 (Thwnd)
- 启动线程 (&Trher, , Thwnd)
- .子程序 _STab_子夹头被右击
- .参数 子夹索引, 整数型
- 调用子程序 (&OpenMenu, , , )
- .子程序 _现行标签_被选择
- _STab_被双击 (0, 0, 0)
- .子程序 _所以标签_被选择
- .局部变量 ii, 整数型
- ii = GetArrayCountBrowser (IE)
- .变量循环首 (1, ii, 1, )
- ii = ii - 1
- .如果 (ii ≠ 1 且 ii > 1)
- CloseTab (ii)
- .否则
- Navigate (ii, #pir)
- .如果结束
- .变量循环尾 ()
- .子程序 _主页A_被选择
- NewWindow (ToString (GetRegedit (3, #por + “\Start Page”)))
- .子程序 _搜索页A_被选择
- NewWindow (ToString (GetRegedit (3, #por + “\Search Page”))) ' Start Page
- .子程序 _空白页A_被选择
- NewWindow (#pir)
- .子程序 _主页_被选择
- .局部变量 index, 整数型
- .如果真 (GetArrayCountBrowser (IE) > 0)
- index = STab.现行子夹
- BrowserExecute (index, #到首页)
- .如果真结束
- .子程序 _搜索页_被选择
- .局部变量 index, 整数型
- .如果真 (GetArrayCountBrowser (IE) > 0)
- index = STab.现行子夹
- BrowserExecute (index, #到搜索页)
- .如果真结束
- .子程序 _空白页_被选择
- .局部变量 index, 整数型
- .如果真 (GetArrayCountBrowser (IE) > 0)
- index = STab.现行子夹
- Navigate (index, #pir)
- .如果真结束
- .子程序 _按钮_刷新_被单击
- .局部变量 index, 整数型
- .如果真 (GetArrayCountBrowser (IE) > 0)
- index = STab.现行子夹
- BrowserExecute (index, #刷新)
- .如果真结束
- .子程序 _按钮_后退_被单击
- .局部变量 index, 整数型
- .如果真 (GetArrayCountBrowser (IE) > 0)
- index = STab.现行子夹
- BrowserExecute (index, #无法载入的常量) ' <!!!>
- .如果真结束
- .子程序 _按钮_前进_被单击
- .局部变量 index, 整数型
- .如果真 (GetArrayCountBrowser (IE) > 0)
- index = STab.现行子夹
- BrowserExecute (index, #无法载入的常量) ' <!!!>
- .如果真结束
- .子程序 _按钮_Stop_被单击
- .局部变量 index, 整数型
- .如果真 (GetArrayCountBrowser (IE) > 0)
- index = STab.现行子夹
- BrowserExecute (index, #停止)
- .如果真结束
- .子程序 _收藏夹_图形按钮_被单击
- 运行 (“explorer ” + 取特定目录 (2), 假, )
复制代码- .版本 2
- .DLL命令 ShellExecuteA, 整数型, "shell32.dll", , , 查找与指定文件关联在一起的程序的文件名 非零表示成功,零表示失败。会设置GetLastError
- .参数 hwnd, 整数型, , 指定一个窗口的句柄,有时候,windows程序有必要在创建自己的主窗口前显示一个消息框
- .参数 lpOperation, 文本型, , 指定字串“open”来打开lpFlie文档,或指定“Print”来打印它
- .参数 lpFile, 文本型, , 想用关联程序打印或打开一个程序名或文件名
- .参数 lpParameters, 文本型, , 如lpszFlie是可执行文件,则这个字串包含传递给执行程序的参数
- .参数 lpDirectory, 文本型, , 想使用的完整路径
- .参数 nShowCmd, 整数型, , 定义了如何显示启动程序的常数值。参考ShowWindow函数的nCmdShow参数;
- .DLL命令 FindWindowA, 整数型, "user32.dll", , , 查询指定窗口在于系统中的句柄
- .参数 C1, 文本型
- .参数 C2, 文本型
复制代码
LLQ.zip
(772.11 KB, 下载次数: 145)
|
|