利用webBrowser做了个浏览器工具!功能类似IE toolbar.
界面如下:
主要功能:
- 网页浏览
使用webBrowser来实现。
主要遇到问题是,如何包含多框架的页面是否加载完成。方法如下:
private void webPanel_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
if (webPanel.Url.ToString() != e.Url.ToString())
{
return;
}
//网页加载完成
} - 当前网络状况
使用C#自带ping命令检测网络状况。显示1秒ping一次www.baidu.com返回毫秒。 - 网页内取色
屏幕取色主要方法:
Color color = Color.White;
Rectangle rect = Screen.PrimaryScreen.Bounds;
using (Bitmap bmp = new Bitmap(1, 1))
{
using (Graphics g = Graphics.FromImage(bmp))
{
g.CopyFromScreen(Control.MousePosition.X, Control.MousePosition.Y, 0, 0, new Size(1, 1));
}
color = bmp.GetPixel(0, 0);
}
lblColor.BackColor = color; - 添加和执行JS
webPanel.Document.InvokeScript("eval", new object[] { str });
- 浏览DOM树 (属性可修改)
HtmlElement属性显示和修改使用 PropertyGrid ,可在Tree中使用Delete键删除当前节点。 - 浏览网页元素的属性和样式
调用页面内嵌入的JS代码返回元素的属性和当前样式。使用 ListView 展示。可使用Ctrl+C键复制当前选中值。 - 统计网页元素数量
使用Document.All、Document.Links 、Document.Images、Document.Forms、Document.Window.Frames 统计 - 显示所有连接
将当前页面所有连接,展示在表格中。 - 显示所有图片
将当前页面所有Image对象,展示在表格中。 - 仅显示文字
使用 webPanel.Document.Write(webPanel.Document.Body.InnerText); - 显示所有引用 (js或样式)
获取所有应用外部的JS和样式表的连接。 - 个性状态栏(当前元素位置)
调用JS来显示当前元素的边框。 - 调整页面尺寸
- 禁止弹出页
- 禁止框架
调用JS删除当前页面所有框架页。
当新页面加载完成后,因为有的框架是页面JS动态添加的。所以程序是在页面加载完成后,延迟1秒执行删除框架的。 - 禁止FLASH
调用JS删除当前页面所有FLASH。 - 限制仅在本页内打开
将所有连接设置为target="_self"
程序下载:https://files.cnblogs.com/zjfree/WebTool.rar
源码下载:https://files.cnblogs.com/zjfree/WebTool_src.rar
开发环境:WIN2003 + VS2005 + .NET2.0 + C#