Tag: webbrowser control

通过DocumentText与Url在Forms.WebBrowser控件中设置内容的差异

如果我生成一些HTML并将其放在一个字符串中然后说: myWebBrowser.DocumentText = string; 它似乎工作得很好,除了没有图像加载(我得到破碎的图像图形)。 但是,如果我将字符串写入文件然后说: myWebBrowser.Url = new Uri(“file://myfile.html”); 一切正常。 我的问题是,这里的内容有何不同? 我在两种情况下都validation了图像的路径(通过RClick-> View Source)是相同的,并且确实存在所有图像。 在这两种情况下,HTML都完全相同。 任何可以在此上流下的光都将受到赞赏。 谢谢!

如何在Windows应用程序C#上播放YouTubevideo

我已经创建了一个带有WebBrowser控件的Windows应用程序并尝试播放YouTubevideo..我已经安装了Adobe Shockwave Player,并试图在我的Windows应用程序上观看video,但它没有显示任何video。 当我点击播放按钮时,屏幕看起来像这样 我播放video的代码是 StreamWriter sw = new StreamWriter(“utube.html”); string PlayString = currentVideoUrl.Trim().Replace(“watch?v=”, “v/”); string Finalplaycode = “”; sw.Write(Finalplaycode); sw.Close(); string PathToNavigate = Directory.GetParent(Application.ExecutablePath) + @”\utube.html”; webBrowser1.Navigate(PathToNavigate); 我的示例video链接是: http : //www.youtube.com/watch?v = oZdnezj9Dfg&feature = BF&list = PLD3E900BFF6534896 &lf = plpp_video 有谁可以帮我解决这个问题? 我错过了任何插件吗? 我正在使用.NetFramework 4.0

如何在打开之前拦截WebBrowser控件的“选择要上载的文件”窗口?

我的应用程序必须使用webBrowser控件自动填写表单并上传文件。 当我调用会员(“点击”)时,会弹出通常的“选择要上传的文件”表单,并且会出现在我可能同时使用的任何其他应用程序之前。 有没有办法拦截这个窗口,以便我可以在后台leep我的表单填写和文件上传?

在循环中触发WebBrowser.DocumentCompleted事件

我有一个简单的应用程序,我正在开发,需要遍历一个URL列表,这些URL传递给每个循环中的WebBrowsers Navigate函数。 我希望在每次调用Navigate函数后看到DocumentCompleted事件触发,但它似乎只是在整个表单完成加载后触发 – 这个循环已经完成。 我想我错过了一些基本的东西,但是一些帮助和建议会很棒! 谢谢! 这是我正在尝试的代码示例… 这个foreach循环运行在我正在使用的WinForms页面的Form Load事件中… int id = 0; foreach (DataRow row in quals.Rows) { URN = row[“LAIM_REF”].ToString(); string URN_formated = URN.Replace(“/”, “_”); string URL = “http://URL_I_AM_GOING_TOO/”; string FullURL = URL + URN_formated; wbrBrowser.ScriptErrorsSuppressed = true; wbrBrowser.Refresh(); wbrBrowser.Navigate(FullURL); id += 1; label1.Text = id.ToString(); } 在循环到达该行的位置: wbrBrowser.Navigate(FullURL); 我希望这个事件: private void […]

如何打印WPF WebBrowser控件中显示的PDF文件

我有一个WPF应用程序,它使用标准的WebBrowser控件实现一个简单的Web浏览器。 当用户导航到PDF文档时,文档将在MSIE标准Adobe Reader插件的WebBrowser控件中内嵌显示。 现在我需要以编程方式打印文件。 我该怎么做? 我知道Adobe Reader有一个带有print命令的COM接口。 这个界面也可以在MSIE插件中使用吗? 如何从WPF代码访问它,我只能访问WebBrowser控件? 谢谢你的建议!

在不访问外部文件的情况下在WebBrowser控件中显示图像

我在应用程序中使用C#中的WebBrowser控件来显示HTML。 所有数据都来自数据库,因此我在内存中生成一个带有Inline-CSS的完整页面并将其发送到浏览器。 但现在我想支持图像,这似乎是一个问题,因为我不想将图像存储在硬盘驱动器上,甚至不在临时目录中。 我知道数据:URI Scheme ,但这似乎太有限了。 我想知道:我可以以某种方式使用JavaScript来动态生成图像,给定一个字节流,基本上镜像数据:使用JavaScript的Scheme? 或者是否有其他方式来显示图像,即使用GDI +? 如果需要,我可以对图像做一些假设,即如果需要我可以强制用户指定宽度和高度,但我不能真正强制执行该位置,毕竟它是HTML。 我也可以强制所有图像都采用特定格式,基本上任何可以帮助解决这个问题的图像。 编辑:我可能会滥用像VML这样的东西来显示位图数据吗? 我似乎不能使用Canvas或SVG(在IE中都不支持,因此在MSHTML中?) 编辑2: VML可以工作,但处理器负载是疯了。 所以我要么实现一个Web服务器来提供文件(比如cassini),要么在我的另一个问题中尝试Silverlight方法 。

从WebBrowser加载图像,无需重新加载或复制

我目前正在从剪贴板复制到从浏览器加载图像 IHTMLDocument2 doc = (IHTMLDocument2) webBrowser1.Document.DomDocument; IHTMLControlRange imgRange = (IHTMLControlRange) ((HTMLBody) doc.body).createControlRange(); foreach (IHTMLImgElement img in doc.images) { imgRange.add((IHTMLControlElement) img); imgRange.execCommand(“Copy”, false, null); using (Bitmap bmp = (Bitmap) Clipboard.GetDataObject().GetData(DataFormats.Bitmap)) { bmp.Save(@”C:\”+img.nameProp); } } 但是使用剪贴板有一些问题。 有没有其他方法可以做到这一点。 在Internet Explorer中,所有图像都转到临时目录,如果同样发生在这里有没有办法获取该保存图像的路径?

WebBrowser快捷方式无法在PowerPoint加载项中运行…但WebBrowserShortcutsEnabled为true

我正在构建一个基于嵌入式浏览器的powerpoint插件。 但是,出于某种原因,标准快捷方式不起作用。 WebBrowserShortcutsEnabled属性设置为true(尽管我甚至尝试将其设置为false,以防我处于倒退世界)。 将它剥离到裸露的骨头,我的重复步骤是: 创建一个新项目,选择PowerPoint 2013外接程序项目类型 将新的用户控件添加到项目中 将WebBrowser添加到该控件,从工具箱中拖动它 在该属性面板中将该WebBrowser上的URL设置为例如google 将此代码添加到ThisAddIn_Startup方法,以便面板立即显示: private void ThisAddIn_Startup(object sender, System.EventArgs e) { var ctrl = new UserControl1(); var ctp = this.CustomTaskPanes.Add(ctrl, “test”); ctp.Visible = true; } 在PowerPoint中键入WebBrowser工作正常,但Ctrl + X / C / V,Del,Tab等都没有效果。 我已经尝试在Web浏览器上覆盖OnKeyPress方法,并添加了一个PreviewKeyDownEventHandler,但这两种方法中的断点都没有被击中。 我还validation了WebBrowserShortcutsEnabled在运行时仍然是真的并且没有以某种方式被更改。 我开始怀疑它可能是一个环境问题,但我不知道根本原因是什么。 我正在运行Windows 8.1,VS 2012和PowerPoint 2013,目标是.NET 4.5。 我也尝试在Windows 7上的PowerPoint 2010上安装相同的基本插件,结果相同。 有没有人能够了解我可能出现的问题? 谢谢

webbrowser编码问题

我在我的项目中使用WebBrowser控件。 我的代码示例如下: webBrowser1.Navigate(“Web Site goes here”); 网络浏览器正在浏览Google网站,但我无法看到土耳其语字符。 因此我使用: webBrowser1.Document.Encoding = “UTF-8” 但问题仍然存在。 有什么想法解决这个问题?

等待WebBrowser完成进程

在继续之前等待浏览器完成流程的代码的最佳方法是什么? 我在下面尝试了这个代码,并且在处理下一个链接之前,该过程不会等到它完成。 void WaitBrowserLoading() { while (webBrowser1.IsBusy) Application.DoEvents(); for (int i = 0; i < 500; i++) if (webBrowser1.ReadyState != WebBrowserReadyState.Complete) { Application.DoEvents(); lblStoreID.Text = ""; //System.Threading.Thread.Sleep(5); } else break; Application.DoEvents(); }