Tag: shdocvw

如何打开最大化的Internet Explorer?

我必须使用C#打开最大化的Internet Explorer。 我尝试过以下方法: try { var IE = new SHDocVw.InternetExplorer(); object URL = “http://localhost/client.html”; IE.ToolBar = 0; IE.StatusBar = true; IE.MenuBar = true; IE.AddressBar = true; IE.Width = System.Windows.Forms.SystemInformation.VirtualScreen.Width; IE.Height = System.Windows.Forms.SystemInformation.VirtualScreen.Height; IE.Visible = true; IE.Navigate2(ref URL); ieOpened = true; break; } catch (Exception) { } 我可以打开不同的大小,但我找不到如何打开最大化的IE。 我检查了msdn ,没有属性可以最大化。 请给我一些建议。 PS:我正在开发C#控制台应用程序,.Net4.5和VS2012

在WebBrowser中的另一个域中获取iFrame中的文本的任何解决方法?

您可能会首先认为由于XSS限制而无法实现。 但我试图从托管WebBrowser的应用程序访问此内容,而不是从站点中的javascript代码访问。 我理解是不可能的,并且不应该通过非hacky手段从javascript访问此内容,因为这将是一个很大的安全问题。 但是,从托管WebBrowser的应用程序中获得此限制是没有意义的。 如果我想加强我的应用程序用户的Facebook信息,我可以做一个Navigate(“facebook.com”)并做任何我想要的东西。 这是一个托管WebBrowser的应用程序,而不是网页。 此外,如果您使用Google Chrome浏览器访问包含其源位于其他域中的iFrame的任何网页,并右键单击其内容并单击“检查元素”,它将显示该内容。 更简单的是,如果您导航到包含其他域中的iFrame的任何网页,您将看到其内容。 如果您可以在WebBrowser上看到它,那么您应该能够以编程方式访问它,因为它必须位于内存中的某个位置。 有没有办法,不是来自DOM对象,因为它们似乎基于与javascript相同的引擎,因此受到XSS限制的限制,但是从一些更低级别的对象(如MSHTML或SHDocVw )来访问此文本?

IE8的InternetExplorer COM对象忽略活动选项卡

这是在.net 3.5 winform上运行的代码的Web单点登录。 只要ie8只有一个标签打开,代码就可以运行ie6或ie8。 问题是,如果用户打开一个新选项卡(选项卡2,3等)并导航到一个网站(组织内部的Web表单),将执行以下代码,但是COM自动化对象将返回HTMLDocument对于第一个选项卡(选项卡1),即使选项卡2是活动选项卡。 我无法在任何地方找到InternetExplorer或HTMLDocument类中的任何IE选项卡引用。 实际上,IE COM自动化文档中的IE标签相关文档很少。 AutoResetEvent ie2_NavigateCompleteAutoReset; /// /// Given the handle of an Internet Explorer instance, this method performs single sign on to /// several known web login forms. /// /// private void WebFormSignOn(int iEFramHandle) { foreach (SHDocVw.InternetExplorer ie2 in new SHDocVw.ShellWindows()) { if (ie2.HWND == iEFramHandle) { while (true) { […]