C# 多线程WebBrowser问题!(急) [问题点数:100分,结帖人z812183667]

Bbs3
本版专家分:871
结帖率 100%
Bbs10
本版专家分:129266
Blank
微软MVP 2013年7月 荣获微软MVP称号
2012年7月 荣获微软MVP称号
2011年7月 荣获微软MVP称号
Blank
黄花 2011年4月 .NET技术大版内专家分月排行榜第二
Blank
蓝花 2011年3月 .NET技术大版内专家分月排行榜第三
Bbs10
本版专家分:157147
Blank
金牌 2011年12月 总版技术专家分月排行榜第一
2011年11月 总版技术专家分月排行榜第一
Blank
红花 2012年1月 .NET技术大版内专家分月排行榜第一
2011年12月 .NET技术大版内专家分月排行榜第一
2011年11月 .NET技术大版内专家分月排行榜第一
2008年3月 .NET技术大版内专家分月排行榜第一
Blank
黄花 2010年4月 .NET技术大版内专家分月排行榜第二
2008年2月 .NET技术大版内专家分月排行榜第二
Blank
蓝花 2010年3月 .NET技术大版内专家分月排行榜第三
2009年12月 .NET技术大版内专家分月排行榜第三
2009年4月 .NET技术大版内专家分月排行榜第三
Bbs3
本版专家分:871
Bbs3
本版专家分:871
Bbs10
本版专家分:157147
Blank
金牌 2011年12月 总版技术专家分月排行榜第一
2011年11月 总版技术专家分月排行榜第一
Blank
红花 2012年1月 .NET技术大版内专家分月排行榜第一
2011年12月 .NET技术大版内专家分月排行榜第一
2011年11月 .NET技术大版内专家分月排行榜第一
2008年3月 .NET技术大版内专家分月排行榜第一
Blank
黄花 2010年4月 .NET技术大版内专家分月排行榜第二
2008年2月 .NET技术大版内专家分月排行榜第二
Blank
蓝花 2010年3月 .NET技术大版内专家分月排行榜第三
2009年12月 .NET技术大版内专家分月排行榜第三
2009年4月 .NET技术大版内专家分月排行榜第三
Bbs3
本版专家分:871
Bbs10
本版专家分:157147
Blank
金牌 2011年12月 总版技术专家分月排行榜第一
2011年11月 总版技术专家分月排行榜第一
Blank
红花 2012年1月 .NET技术大版内专家分月排行榜第一
2011年12月 .NET技术大版内专家分月排行榜第一
2011年11月 .NET技术大版内专家分月排行榜第一
2008年3月 .NET技术大版内专家分月排行榜第一
Blank
黄花 2010年4月 .NET技术大版内专家分月排行榜第二
2008年2月 .NET技术大版内专家分月排行榜第二
Blank
蓝花 2010年3月 .NET技术大版内专家分月排行榜第三
2009年12月 .NET技术大版内专家分月排行榜第三
2009年4月 .NET技术大版内专家分月排行榜第三
Bbs3
本版专家分:871
Bbs10
本版专家分:157147
Blank
金牌 2011年12月 总版技术专家分月排行榜第一
2011年11月 总版技术专家分月排行榜第一
Blank
红花 2012年1月 .NET技术大版内专家分月排行榜第一
2011年12月 .NET技术大版内专家分月排行榜第一
2011年11月 .NET技术大版内专家分月排行榜第一
2008年3月 .NET技术大版内专家分月排行榜第一
Blank
黄花 2010年4月 .NET技术大版内专家分月排行榜第二
2008年2月 .NET技术大版内专家分月排行榜第二
Blank
蓝花 2010年3月 .NET技术大版内专家分月排行榜第三
2009年12月 .NET技术大版内专家分月排行榜第三
2009年4月 .NET技术大版内专家分月排行榜第三
Bbs3
本版专家分:871
Bbs10
本版专家分:157147
Blank
金牌 2011年12月 总版技术专家分月排行榜第一
2011年11月 总版技术专家分月排行榜第一
Blank
红花 2012年1月 .NET技术大版内专家分月排行榜第一
2011年12月 .NET技术大版内专家分月排行榜第一
2011年11月 .NET技术大版内专家分月排行榜第一
2008年3月 .NET技术大版内专家分月排行榜第一
Blank
黄花 2010年4月 .NET技术大版内专家分月排行榜第二
2008年2月 .NET技术大版内专家分月排行榜第二
Blank
蓝花 2010年3月 .NET技术大版内专家分月排行榜第三
2009年12月 .NET技术大版内专家分月排行榜第三
2009年4月 .NET技术大版内专家分月排行榜第三
Bbs3
本版专家分:871
WebBrowser 控件 内存溢出 补丁 From Microsoft
WebBrowser 控件 内存溢出 补丁 From Microsoft 在程序中用WebBrowser长时间不停访问不同页面会造成内存溢出,微软给出了补丁,但是似乎没有怎么测试。要获得补丁必须通过邮件申请,我申请了三次才凑够了XP,2003和Vista的补丁,给大家分享。不过微软说没有经过回归测试,(*^__^*) 嘻嘻…… 获取补丁的网址,如果不放心请自己去微软下载 http://support.microsoft.com/kb/943510/zh-cn 我这里也把自己获得的补丁给大家
完美解决C#Webbrowser控件设置Cookie问题
完美解决C#Webbrowser空控件设置Cookie<em>问题</em>由于个人项目需求,需要把从抓包里面的Cookie数据写入到<em>webbrowser</em>空控件里,经过百度白百般折腾,结果还是失败,搜索到的答案基本上都是[DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)] public static extern bool In
通过webbrowser下载文件(看评论酌情下载)
解决了<em>webbrowser</em>下载文件的三个<em>问题</em>: 1、屏蔽了另存为的弹出 2、获得<em>webbrowser</em>所有的cookie值 3、让webclient支持cookie
WebBrowser调用带有OCX控件页面报错处理方式
将目标框架 .NET Framework 5.1 设置为: .NET Framework 4 Client Profile。即可
以假乱真解决WebBrowser遮挡SL控件的问题
    查找了很多官网文档、资料、论坛,WebBrowser遮挡SL控件的<em>问题</em>一直没能很好的解决。     今天看到WebBrowser 和 WebBrowserBrush 控件 msdn文章,突发奇想,同时使用 WebBrowser 和 WebBrowserBrush来解决WebBrowser遮挡SL控件的<em>问题</em>。其结果恰恰是我们所预想的。   xaml代码: &amp;lt;UserCo...
WebBrowser控件中ajax事件无法响应
最近在做基于<em>webbrowser</em>的一些内容,但是<em>webbrowser</em>控件中的内容以及事件均是通过Ajax来加载的,导致无法响应 现阶段并没有好的解决方案,只有两个替代方案 ajax里面拼接的事件是跳转页面的 那这个比较简单,直接在你的div或者其他元素外层套一个a标签,利用a 标签的href标签来跳转 ajax里面拼接的事件是执行事件的 这样的话就没有办法,那只能在html中直接...
C# webBrowser 自动表单提交问题 - 真功夫
C# webBrowser 自动表单提交<em>问题</em> - 真功夫
C#基于Chrome内核的webBrower ChromeWebBrowser net realse
C#基于Chrome内核的webBrower,有健全的文档和相关源码,一看就会。
WinFrom中WebBrowser禁止鼠标滚动缩放
在一个基于WinForm的混合开发项目中,使用了WebBrowser承载了全部的界面和交互。测试中发现Ctrl+鼠标滚轮会使页面缩放,这是不能容忍的。请教了百度后,在页面HTML中添加代码: &amp;lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scala...
.Net 改变WebBrowser 内核版本
要用到WebBrowser时发现默认的是IE7版本,太低,有些网页显示不正常,将下面的方法在WebBrowser加载网页前执行,即可,会将版本改为 IE9private static void WebBrowserVersionEmulation() { const string BROWSER_EMULATION_KEY = @"Software\Microsoft\Intern
xml 查询问题
xml 查询<em>问题</em> 急xml 查询<em>问题</em> 急xml 查询<em>问题</em> 急xml 查询<em>问题</em> 急xml 查询<em>问题</em> 急xml 查询<em>问题</em> 急xml 查询<em>问题</em> 急xml 查询<em>问题</em> 急xml 查询<em>问题</em> 急xml 查询<em>问题</em> 急xml 查询<em>问题</em> 急xml 查询<em>问题</em> 急xml 查询<em>问题</em> 急xml 查询<em>问题</em> 急xml 查询<em>问题</em> 急
再谈IE的浏览器模式和文档模式
以前在 “IE8兼容视图(IE7 mode)与独立IE7的区别”一文中曾经涉及过浏览器模式和文档模式,但二者的区别却不甚了了,现在有了新的认识,再补充一下。 1.浏览器模式与文档模式概念在较新的IE浏览器中(如IE8, IE9, IE10),为了解决兼容性的<em>问题</em>,引入了浏览器模式和文档模式两个概念,浏览网页时可以通过按F12键看到这两种模式。 浏览器模式的主要作用是为兼容较早版本的IE,...
一个C#的类似webbrowser控件,使用和Chrome相同内核Webkit
WebKit.net是对WebKit的.Net封装,使用它.net程序可以非常方便的集成和使用webkit作为加载网页的容器 Winform中引入dll后可以new一个Webkit对象加入到Winform中
WPF WebBrowser放大缩小问题
WebBrowser放大缩小可用下面几句话实现:  mshtml.IHTMLDocument2 doc = myBrowser.Document as mshtml.IHTMLDocument2; doc.parentWindow.execScript(&quot;document.body.style.zoom=&quot; + Zoom.ToString() + &quot;;&quot;);   但实现效果并不太好,网页内容...
WebBrowser 遇到类似银行网页需要安装插件才显示的文本框问题
在浏览器里安装完插件,可以正常使用,但在WebBrowser里面无法显示或使用,这个时候要在Windows的注册表中设置嵌入WebBrowser程序的IE默认使用版本,这个过程可以手工来做,但最好是在程序初始化的时候自动把注册表设置好 private void IeReg() { try { int bi
.net使用webBrowser爬取页面标签内容,简单爬虫的几个关键方法
在.net中 可能会碰到需要使用webBrowser进行网页标签的操作的情况,下面介绍几个常用方法,仅供参考 特别说明wb_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)需要给webBrowser控件添加该事件的监听,用来监听浏览器加载完毕后需要进行的操作 //获取页面所有的div元素 Html...
多线程WebBrowser
<em>多线程</em>WebBrowser
通过WebBrowser显示Word文档的方法
通过以下代码可以实现利用WebBrowser来显示word文档 public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void webBrowser1_DocumentCom...
C# WebBrowser 切换IE版本
C# WebBrowser 任意切换IE版本,实惠WebBrowser的IE版本解决兼容性<em>问题</em>
.Net中webBrowser控件指定IE版本
今天采用.Net中的webBrowser控件时,发觉Angular控件无法正确执行。由于web程序是使用chrome浏览器进行开发,在测试过程中没遇到任何<em>问题</em>。打开IE进行测试,也是一切正常,经过检查,webBrowser默认使用IE7兼容模式来显示网页内容,导致js执行报错。 解决方案: 1)修改web程序页面,添加如下标签 即可指定使用的IE内核版本 2)修改注册表,支持高版本
C# 利用WebBrowser获取网页信息
用于获取网页信息!利用WebBrowser获取网页信息
C# WebBrowser为Iframe内的网页赋值
void Button1Click(object sender, EventArgs e)   {    this.webBrowser1.Document.Window.Frames[0].Document.GetElementsByTagName(&quot;TEXTAREA&quot;)[0].SetAttribute(&quot;value&quot;, &quot;程序赋值结果&quot;);   }...
C# webbrowser 禁用右键和禁止复制黏贴
WebBrowser mtWeb = new WebBrowser(); mtWeb.IsWebBrowserContextMenuEnabled = false; //禁止右键 mtWeb.WebBrowserShortcutsEnabled = false;//禁止快捷键 上面的方法会屏蔽所有的快捷键,需要单独屏蔽某些快捷键功能,可以尝试重写WebBrowser 的方法 Previe...
【C#】webbrowser控件使用
<em>webbrowser</em>控件用于获取指定网页的内容。推荐:winform-<em>webbrowser</em>屏蔽网页中的广告HTML DOM Element 对象C# Winform WebBrowser控件C#的WebBrowser控件浏览网页
C# 用VScrollBar控制webbrowser的滚动条 简单测试
用VScrollBar控制<em>webbrowser</em>的滚动条,如在触摸屏上webBrowser垂直滚动条太小,不方便使用,用VScrollBar来替换,
C#获取WebBrowser中的cookie和userAgent
C#代码获取WebBrowser中的 cookie和userAgent 参数,方法和请求类
C#生成Html并在WebBrowser中显示
使用C# 动态生成Html并在WebBroser中显示,比较简单易懂,适合初学者
C#和JS交互 WebBrowser实例
本文实现了WebBrowser的简单例子 1.引用System.Windows.Froms.dll 2.引用WindowsFormsIntegration.dll 代码如下: publicpartialclassMainWindow:Window { publicMainWindow() ...
Gecko-Web浏览器内核源码
三大浏览器内核之一,配合xulruner开发自己的浏览器,非常不错的东西。
C#网页数据采集(二)WebBrowser
WebBrowser是一个.NET控件类(设置下web脚本错误忽略)支持获取页面加载完毕的源码,而不是初始化的源码 用到了一个web的一个文档全部加载事件: 调用方法:   webBrowser1.Navigate("http://news.baidu.com/");//web浏览百度新闻页面      private void webBrowser1_DocumentC
C#调用webbrowser,阻止弹出新HTML页面
参考资料: 1、C#调用<em>webbrowser</em>,阻止弹出新IE窗口 http://www.cnblogs.com/blindman/p/3819649.html2、【WPF】监听WPF的WebBrowser控件弹出新窗口的事件 http://www.cnblogs.com/RMay/archive/2010/05/27/1745388.html3、WbBrowser的英文介绍 http://w
C# winform的WebBrowser自动登录某网站
最近项目需要接入别人的系统,需要自动登录,大概思路是:自动填写给定的用户名密码,模拟点击登录按钮; 代码如下: HtmlElement elmUserName = web.Document.GetElementById(UserNameField); if (elmUserName != null) elmUserName.SetAttribute("value", UserNameValu
C#使用webBrowser控件获取URL下载图片
通过C#网络编程的webBrowser获取网页中的url并简单的尝试下载网页中的图片,主要是为以后网络开发的基础学习.其中主要的通过应用程序结合网页知识、正则表达式实现浏览、获取url、下载图片三个功能.而且很清晰的解析了每一步都是以前一步为基础实现的.结合知识博客.
C# 用WebBrowser实现的多页面浏览器
当要打开新窗口时,不是弹出IE或其他浏览器,在本身的新tab页中是实现。 可以在此基础上进行多次开发,如进行DOM操作,当然做个什么自动化提交之类的也不在话下了。 --包含源码
C#完美任意设置webBrowser框架默认的IE内核版本
通常情况下,我们直接调用C#控件webBrowser1控件的时候 默认是IE7  用webBrowser1控件打开IE内核检测网站内容是这样滴我们在程序里面写入以下代码 /// &amp;lt;summary&amp;gt; /// 修改注册表信息来兼容当前程序 /// /// &amp;lt;/summary&amp;gt; static voi...
C# webBrowser 使用Chrome内容案例
C# webBrowser 使用Chrome内容案例
c# webbrowser控件的封装IEBrowser
IEBrowser是对winfrom下<em>webbrowser</em>控件的封装,使得<em>webbrowser</em>的使用更加简单!该项目的地址:https://code.google.com/p/zsharedcode/wiki/IEBrowserDoc 使用方法和说明文档都有,可能要翻墙才能看!
C#WebBrowser导出网页所有图片
本人写了个用C# 导出网页上的图片小项目 只要输入网址就可以导出网页上的图片了 有兴趣的可以看看。
【C#】通过webbrowser控件获取验证码
基本控件 看图 查看网站的验证码的ID 添加MSHTML引用,步骤如下: 完整代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using...
简单IE浏览器(C# webbrowser的使用)
简易的IE浏览器,同时也是一个如何设置复杂程序窗体变化控件也随着变化的例子见我的博客http://www.cnblogs/finallyliuyu
winform使用webBrowser實現全屏
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { this.webBrowser1.Navigate(Application.StartupPath + "/default.htm"); } Winform全屏: this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; this.WindowState = System.Windows.Forms.FormWindowState.Maximized;
C#做windows应用程序超链接到网址
用C#做windows应用程序时,增加一个什么控件,我们点击它时,连接到一个网页中? 添加一个linklab点linklabel时产生下面这个事件: System.Diagnostics.Process.Start("网址");
【C#】开发小记——关于WebBrowser中百度地图的一些疑难杂症
1、坐标转换 百度地图API中坐标转换的方法如下: var convertor = new BMap.Convertor();         convertor.translate(point, 1, 5, translateCallback) 其中的1和5代表什么并不清楚,其实也不太需要理解,point就是个成员为Bmap.Point的数组,也就是点坐标合集,translateCa
c#winform中完美代替WebBrowser最新的控件geckofx33支持flash例子demo
<em>c#</em>winform中完美代替WebBrowser最新的控件geckofx33支持flash例子demo 经历了<em>webbrowser</em> 内存溢出 排版错误等各种<em>问题</em> 终于找到了一个解脱模式,就是使用firefox内核的现阶段代替<em>webbrowser</em>最好的控件了。 例子中包含了运行库 控件 代码调用演示 拿去可直接嵌入到你的工作项目中,vs2015up1调试通过,.net4框架
webbrowser 里的js调用C#窗体的函数
1.<em>c#</em>程序里要添加  [System.Runtime.InteropServices.ComVisibleAttribute(true)] 和  webBrowser1.ObjectForScripting = this; 位置:         [System.Runtime.InteropServices.ComVisibleAttribute(true)]     public
c#webbrowser控件有没有"新建会话"功能?默认多个网站账号不能换session
提问: <em>c#</em>的<em>webbrowser</em>控件有没有&quot;新建会话&quot;功能?怎么样实现呢,谢谢网友指导! 例如IE8 我们点&quot;文件&quot;-&quot;新建会话&quot;即可,<em>webbrowser</em>如何实现多个网站账号切换的类似功能呢?   回答: 切换帐号? 功能上实现一般都是先注销后登陆的。。 注销的时候 将保存在会话中的用户信息清除,如果服务器有需要处理的信息 处理下。 然后跳转到登陆界面或弹出登陆窗口就行了!不知道...
C#判断webbrowser页面最终加载完成
C#判断<em>webbrowser</em>页面最终加载完成
C# WebBrowser控件打开Echarts无效解决办法
C# WebBrowser控件打开Echarts无效解决办法 这是因为eCharts在IE中兼容模式配置,造成的,解决办法〉〉 一、首先当然是看你页面布局是否正确。 二、对于eCharts在IE兼容模式中显示,需要指定meta元素中放入X-UA-Compatible ie=edge 标头。     (不理解“X-UA-Compatible ie=edge”?)
Webbrowser调用dll,简单方便获取request response header等资源的例子,实现了HttpWebResquest等实现的功能
老外写的Webbrowser调用dll,简单方便获取request header,response header等各种网络资源的例子,实现了原来只有WebClient,WebRequest和HttpWebResquest才能实现的功能。 需要dll的完整源代码见我上传的另外一个资源下载。 代码已经调试通过,如果访问网络资源超时有可能出现 "其他信息: CLR无法从COM上下文0x211c88转换为COM上下文0x211b18,这种状态已持续60秒。拥有目标上下文/单元的线程很有可能执行的是非泵式等待或者在不发送Windows消息的情况下处理一个运行时间非常长的操作。这种情况通常会影响到性能,甚至可能导致应用程序不响应或者使用的内存随时间不断累积。要避免此<em>问题</em>,所有单线程单元(STA)线程都应使用泵式等待基元(如CoWaitForMultipleHandles),并在运行时间很长的操作过程中定期发送消息" 解决方案: 在VS2008中,"调试"--&gt;"异常"---&gt;把Managed Debugging Assistants-----ContextSwitchDeadlock 后面的勾号去掉)
C#|通过webBrowser控件实现与html间的相互传值
webBrowser控件实现C#与html间的相互传值
webbrowser如何模拟点击右键菜单
找了很久,没找到十分好的解决办法,通过API移动光标到相关网页元素,并发送鼠标右键,能触发右键菜单,但那样太麻烦及不够精确。目前只想到了下面的可行的笨方法。我现在通过不完善的方式,实现了我需要点击右键的功能,思路如下:先编程找出执行右键菜单时指向的绝对Url,再通过相应信息,组合出要实现的Url,浏览该Url从而获得所需数据。用鼠标触发右键菜单,再通过用定时器执行代码查找Url。For i =...
C# webbrowser实现自动登录淘宝
不含有第三方插件,用自带的Webbrowser实现; 代码简单易懂;
C# webbrowser轻松实现自动填表
步骤如下: 第一步:获取网页 调用Webbrowser 的Navigate系列函数。等待网页装载完成,得到document对象。 在调用 webBrowser.Document 之前,请确保 Webbrowser 网页装载完成,可以通过Webbrowser的DocumentCompleted事件进行监视。 小技巧 先指定一个变量: IsCompleted 在调用Web
WebBrowser脚本错误的完美解决方案
当IE浏览器遇到脚本错误时浏览器,左下角会出现一个黄色图标,点击可以查看脚本错误的详细信息,并不会有弹出的错误信息框。当我们使用WebBrowser控件时有错误信息框弹出,这样程序显的很不友好,而且会让一些自动执行的程序暂停。我看到有人采取的解决方案是做一个窗体杀手程序来关闭弹出的窗体。本文探讨的方法是从控件解决<em>问题</em>。
webbrowser屏蔽缩放、拖拽
<em>webbrowser</em>屏蔽 Ctrl缩放 187 -_ 229 =+ 109 - 107 + 106 * function document.onkeydown() { var k = window.event.keyCode; //屏蔽 Ctrl缩放 187 -— 229 =+ 109 - 107 + 106 * ...
C#中WebBrowser控件的简单调用
1,在项目中引用程序集拓展中的Microsoft.mshtml后,可以在公共控件中找到WebBrowser控件。 2,在窗体中加入三个按钮,然后添加WebBrowser控件,右键控件选属性,设置相应的属性。 3,设置WebBrowser控件的属性 public Form1() { InitializeComponent(); webBrowser1.ScriptErrorsSuppressed = true; //跳过脚本错误提示 } 4,双击按钮添加代码,调用WebBrowser控件的Navigate方法实现显示不同网页 private void button1_Click(object sender, EventArgs e) { webBrowser1.Navigate("网址"); } 5,实现点链接而不弹窗,右击WebBrowser控件选择属性,在相应属性面板中查看它所支持的事件,激活NewWindow事件,在事件函数中添加如下代码; private void webBrowser1_NewWindow(object sender, CancelEventArgs e) { //防止弹窗; e.Cancel = true; string url = this.webBrowser1.StatusText; this.webBrowser1.Url = new Uri(url); }
C#判断WebBrowser加载完毕的方法
在C#中使用WebBrowser加载网页有很多便利之处,但多框架和其它因素,使判断最终加载完成一直受到困扰。测试网上的一些方法后,终于比较好的解决了这个<em>问题</em>。 通过环境:VS2015,.Net Framewoek 4.5.1 现在加载有些网页,可能就不触发DocumentCompleted事件,因此在Navigate前,先添加事件WebBrowserDocumentCompletedEvent
WebBrowser控件打印遇到的问题
1.项目背景:用户可套打内容,并且需要自己制作套打模板。目前倒是有套打模板制作工具(网上有介绍),但是用户不能自定义,所以考虑用css+js控制制作套打模板(拖拽元素到定制的页面,根据位置显示),利用<em>webbrowser</em>空间直接打印web内容(仅限ie使用)。 2.开发过程中遇到的<em>问题</em>总结及疑惑 <em>问题</em>一:打印web内容时位置偏移 解决:此处是打印纸张长宽设置引起的<em>问题</em>。比如设置内容模板大...
C# webBrowser 向打开的网页输入内容,并且提交模拟输入点击
 添加一个 webBrowser   URL属性 设置为 百度的地址  HtmlDocument doc = webBrowser1.Document; //HtmlElement btn = null; HtmlElement elementcol = doc.GetElementById(&quot;kw&quot;); //搜索输入框 根据...
利用WebBrowser彻底解决Web打印问题(包括后台打印)
【利用WebBrowser彻底解决Web打印<em>问题</em>(包括后台打印) 】利用WebBrowser彻底解决Web打印<em>问题</em>(包括后台打印)BS架构下的打印大家是怎么解决的呢,我最近作了一个项目正好负责这一块,不仅要求打印页面的特定部分,还要求有后台的批量打印,在网上查了一些资料,最后终于解决了。抱着“取之于众 服务于众”的思想,我总结了一下,把它拿到网上来与大家分享,希望能帮助遇到类似<em>问题</em>的朋友。我主要使用了IE内置的WebBrowser控件,无需用户下载和安装。WebBrowser有很多功能,除打印外的其他功能就不再赘述了,你所能用到的打印功能也几乎全部可以靠它完成,下面的<em>问题</em>就是如何使用它了。先说显示后打印,后面说后台打印。1.首先引入一个WebBrowser在需要打印的页面,可以直接添加:到页面,或者使用JavaScript在需要的时候临时添加也可以:document.body.insertAdjacentHTML("beforeEnd"," … 中间的格式将只在打印时起作用,不会影响显示界面。所以可以设定.Noprint{display:none;}.PageNext{page-break-after: always;}然后给不想打印的页面元素添加: class="Noprint" ,那就不会出现在打印和打印预览中了。想分页的地方添加: 就可以了。4.打印页面的特定部分我是通过将需要打印的特定部分另建一个页面,然后装入主页面的一个IFrame中,再调用IFrame的打印方法,只打印IFrame中的内容实现的。如:下面的pringFrame js函数将只打印Iframe中的内容,可以直接引用使用,如printFrame(FrameId);window.print = printFrame;// main stufffunction printFrame(frame, onfinish) {if ( !frame ) frame = window;function execOnFinish() {switch ( typeof(onfinish) ) {case "string": execScript(onfinish); break;case "function": onfinish();}if ( focused && !focused.disabled ) focused.focus();}if (( frame.document.readyState !== "complete") &&( !frame.document.confirm("The document to print is not downloaded yet! Continue with printing?") )){execOnFinish();return;}var eventScope = printGetEventScope(frame);var focused = document.activeElement;window.printHelper = function() {execScript("on error resume next: printWB.ExecWB 6, 1", "VBScript");printFireEvent(frame, eventScope, "onafterprint");printWB.outerHTML = "";execOnFinish();window.printHelper = null;}document.body.insertAdjacentHTML("beforeEnd","= 5 && agent.indexOf("5.0b1") < 0;}function printFireEvent(frame, obj, name) {var handler = obj[name];switch ( typeof(handler) ) {case "string": frame.execScript(handler); break;case "function": handler();}}function printGetEventScope(frame) {var frameset = frame.document.all.tags("FRAMESET");if ( frameset.length ) return frameset[0];return frame.document.body;}Iframe中所装载页面的打印效果在所装载页面设置就可以了,如分页等。5.后台打印我是通过建一个隐藏Iframe实现的,当然仍然会有页面装载的过程。下面的函数创建Iframe装载页面并打印。如 printHidden(url) //url为页面地址function printHidden(url) {document.body.insertAdjacentHTML("beforeEnd","");var doc = printHiddenFrame.document;doc.open();doc.write(";if ( window.onprintcomplete ) window.onprintcomplete();}printFrame(printHiddenFrame.printMe, onfinish);}它用到了printFrame,所以别忘了引用前面的函数。总之,WebBroswer已经为我们提供了解决方案,我们只要结合需求把它应用好就行了。
webbrowser 提交POST数据
<em>webbrowser</em> 提交POST数据
Csharp Webbrowser---解决乱码,解决js注入html无法运行
Csharp Webbrowser—解决乱码,解决js注入html无法运行2016-10-01 1、<em>webbrowser</em>自动在百度搜索框输出文字时乱码,同时以汉字直接在控制台输出也是乱码 2、注入html中的js脚本无法运行,alert(‘hello’)同样无法运行 我的解决方法 1、将有中文字符的*.cs文件通过记事本另存为,更改编码为utf-8 2、见代码 代码块//加入脚本到当前iframe的
【C#】webbrowser过滤js弹出广告
在<em>webbrowser</em>的navigated事件中指定过滤规则: private void webBrowser1_Navigated(object sender, WebBrowserNavigatedEventArgs e) { //设定过滤广告规则 HtmlElementCollection hec = webBrowser1
C#web打印之WebBrowser
有最基础 的关于拼接HTML然后输入打印的,也有里面关于分页的做法,主要是关于销售单,方便学习
C#在WebBrowser下获取完整的Cookies(包括含HTTPOnly属性的)
最近做项目的时候需要模拟post请求取数据但用了普通的Cookies无法获取完整的Cookies信息 只是获取了一部分 ,导致取回来的是重新登陆的页面。后来经过不懈的精神,终于找到了方法实现获取HTTPOnly,下面直接贴代码: using System; using System.Collections.Generic; using System.Linq; using Syst
监听webbrowser内容改变
论坛上一位朋友发贴想实现这样功能:在<em>webbrowser</em>(编辑状态)中输入@,然后能捕获随后输入的几个字符。贴子见: https://bbs.csdn.net/topics/390995682?page=1#post-403542646  监听键盘事件有两个缺陷: 1.它只能监听到ASCII字符,如果输入汉字则不响应。 2.事件发生时,字符还未真正出现在<em>webbrowser</em>中。 解决方法首先是...
WinForm程序执行JS代码的多种方法以及使用WebBrowser与JS交互
方法一 使用微软官方组件Interop.MSScriptControl 1.msscript.ocx下载的地址   http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=D05FCF37-4D9F-4769-9442-0BCEEF907033    或者点击此处下载 Interop
C# WF 使用webBrowser获取页面元素
     在wf窗体上手动添加WebBrowser ,或者在后台添加             public WebBrowser browser; 在load方法里写这些:            browser = new WebBrowser();             //this.MinimizeBox = false;             browser.Dock = Doc...
C# winfrom webbrowser控件 内嵌火狐内核内核
开发工具Visual Studio 2012 winform控件<em>webbrowser</em>控件 内嵌火狐内核内核 已经明确引用于给出实例 方便各位使用 分为mini版本与复杂版本
使用Webbrowser获取异步加载的网民跟帖数据的程序
该程序使用VS.net C#开发环境中自带的<em>webbrowser</em>控件的方法,实现了抓取新闻评论页面网民跟帖这类异步加载数据(在浏览器的“查看源码”打开的网页源码中找不到的动态加载的数据)的功能。
WebBrowser修改默认白色背景
背景:在使用Winform的WebBrowser显示网页的时候,在网页还未加载完成之前会显示白色,刚好网页内容呈现黑色,这样视觉效果上就十分差,想把这层白色的去掉。 试了很久之后发现根本去不掉,应该是控件默认自带的颜色。那就只能更换思路,在网页加载完毕之后,也就是在事件DocumentCompleted中,再将<em>webbrowser</em>显示...
解决Webbrowser定时抓取网页数据时,内存累积不释放的问题
原因:重复的Dim Web As New Webbrowser。感觉这是Webbrowser的Bug,重复的创建不能释放调用Dispose也没用。 解决办法:定义为全局变量,只创建一次。
c# winform webbrowser页面中js调用winform类方法
在winform嵌入网页项目中,如何在网页中通过js脚本调用winform中类的方法?此demo可以帮到你
WPF:WebBrowser控件打开本地页面报安全提示的问题及解决
最近使用百度地图API,需要在本地做一个html文件承,加载本地文件时出现该异常,提示:WebBrowser提示 为帮助保护你的安全,您的Web浏览器已经限制此文件显示可能访问您的计算机的活动内容,如图:每次都需要进行如下操作,才能显示百度地图网页,这样虽说不影响功能的实现,不过,这样一来用户体验实在是差,二来本着学习的态度,也应该去解决这样BUG一样的存在,纠结了几天之后,<em>问题</em>终于接解决了,借此...
c# formApp的web browser的兼容性设置
<em>c#</em> formApp的web broswer的兼容性设置winform的web broswer默认是开启的兼容性视图,有些网站如果要求需要IE高版本,比如IE11的话,web broswer会出<em>问题</em>,比如css文件布局不能适应等,想要解决这个<em>问题</em>,就需要关闭web broswer的兼容性,当然,关闭了的话,在没有安装新版本ie的机器上,还是会出现<em>问题</em>的,所以关闭了也就是提高了对客户操作系统的要求。下
去掉WebBrowser的边框和滚动条
老<em>问题</em>,新解法:关于去掉WebBrowser的边框和滚动条 连接点+SetUIHander方法 关键代码
[MFC]如何禁止webbrowser的网页缩放
<em>问题</em>来源在开发mfc应用程序时,有一个需求就是在页面中嵌入网页作为应用程序的界面。但存在的<em>问题</em>就是网页能够被用户缩放,所以就有了限制网页缩放的需求。解决思路1.拦截ctrl+鼠标滚轮的消息。这种方式只需要屏蔽滚轮事件就行了,实现的目的就是要拦截掉ctrl+滚轮事件不让系统处理。实现方法如下: 点击“ctrl+shift+x”打开类向导,在虚函数中点击“PreTranslateMessage”添加处
C# WebBrowser页面内容缩放
继承WebBrowoser控件,新增页面内容缩放功能。。。
使用webBrowser时 excel嵌不进去
在使用webBrowser时 有些office版本 会出现excel嵌不进去的情况,可以修改注册表来修复,不会影响其他的使用。。
C# winform窗体使用WebBrowser控件显示百度地图
个人微信公众号:“免费桌面小应用”。有新程序会微信推送通知。谢谢大家扫描关注。突然想试试winfrom窗体调用html页面并显示页面内容。就拿展示地图来试试。先上效果图:下面是项目创建的过程:一、打开vs---新建项目项目选择windows窗体项目。名字随便取。二、右键项目--&amp;gt;添加---&amp;gt;选择新建项。选择左边web下的html页三。现在项目下应该有一个窗体和一个html页了。代码部分...
C# 扩展的比较完整的WebBrowser控件
C# 扩展的比较完整的WebBrowser控件
用Winform的WebBrowser开发可设置代理服务器的浏览器
winform浏览器,<em>webbrowser</em>,可设置代理服务器
利用WebBrowser控件实现百度自动搜索
利用WebBrowser控件实现百度自动搜索
【C# winform练习】利用控件实现浏览器功能的方法(webbrowser和WebKit)
大佬让我做一个在winform内查询gps定位地图的功能,没搞过。gps公司就扔给我们两个链接让我们自己调。想了一下,只要在winform里搞个类似浏览器的控件,查什么传什么参数就ok了。万事俱备,只差百度。 Webbrowser控件 首先考虑的肯定是winform自带的控件,<em>webbrowser</em>。使用起来非常的简单方便。 在工具箱——所有Windows窗体——<em>webbrowser</em> 直接拖到for...
C# 在 WebBrowse控件中捕获 MouseClick 或 MouseDown事件
在C#的WebBrowse控件中捕获 MouseClick 或 MouseDown事件的方法。
C#封装WebBrowser时NewWindow事件无法获取Url的解决方法
一,重写WebBrowser组件,禁止跳转到IE新窗口。菜单“项目-&gt;添加类”,在模板中的“类”图标上确认一下,然后名称改为“ExtendedWebBrowser.cs”。 二,在右边解决方案管理器中右击“查看代码”,然后在ExtendedWebBrowser.cs代码窗口将代码修改成如下: using System; using System.Collections.Generic...
database.pdf下载
database management systems second edition (英文版) 相关下载链接:[url=//download.csdn.net/download/ljink/2342944?utm_source=bbsseo]//download.csdn.net/download/ljink/2342944?utm_source=bbsseo[/url]
可以用来从internet上获取图片资源,并加载处理下载
可以用来从internet上获取图片资源,并加载处理。 相关下载链接:[url=//download.csdn.net/download/assvirus/3000574?utm_source=bbsseo]//download.csdn.net/download/assvirus/3000574?utm_source=bbsseo[/url]
屏幕录像专家V7.5 Build20080428破解版下载
屏幕录像专家V7.5 Build20080428破解版 相关下载链接:[url=//download.csdn.net/download/anhuizhouhao/3164163?utm_source=bbsseo]//download.csdn.net/download/anhuizhouhao/3164163?utm_source=bbsseo[/url]
我们是很有底线的