问题标签 [shdocvw]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
431 浏览

c# - shdocvw 使用 C# 打开带有两个 IE 选项卡的浏览器

我的代码中有一个非常简单的方法,用于打开 IE 浏览器,版本 IE 11。

每次单击该按钮时,IE 浏览器都会打开,但我得到两个选项卡。第一个选项卡是一个空白选项卡,上面没有名称,正文是空白的。

基于在stackoverflow上研究其他问题,我认为我的IE设置是相关的:

  1. 主页设置为 Google...框中没有多余的行
  2. “打开新标签页时,打开” - 设置为“新标签页”
  3. “打开来自其他程序的链接:” - 设置为“当前窗口中的新选项卡。
  4. 流行音乐拦截器已关闭

我在 Win7 和 Win10 上试过这个片段。

你能告诉我这里缺少什么吗?谢谢。

0 投票
1 回答
951 浏览

vb.net - 访问 html 中的元素使用 VB.Net 标记源 html

我在我的 Vb.Net WinForms 应用程序中使用 SHDocVw.InternetExplorer API 从 Internet Explorer 获取元素。我可以轻松访问父文档和框架元素中的元素,但无法访问“嵌入”容器中的元素。这是示例代码:

这是一个示例html:

示例.html

测试.html

如何使用“嵌入”标签访问 Sample.html 中加载的 Test.html 内的按钮和标签?

编辑 1

根据我的研究,我可以使用“object”元素的 .contentDocument 属性访问“object”容器内的文档,但同样不适用于“embed”容器。

我可以使用“嵌入”容器上的 getSVGDocument() 属性获取一些 comObject,但无法将其转换为 mshtml.IHTMLDocument2

0 投票
1 回答
191 浏览

c# - 如何将参数从 SHDocVw.InternetExplorer 事件传递到 C# 应用程序

我在用着

SHDocVw.InternetExplorer ie = new SHDocVw.InternetExplorer()

在某些时候,我需要从 Internet Explorer 在我的 C# 应用程序中触发一个事件。我这样做是这样的:

这工作正常,但我需要通过这个事件传递一些参数,我无法弄清楚如何做到这一点。可能有办法从 Internet Explorer 调用 C# 方法吗?请指教。

0 投票
2 回答
728 浏览

c# - 找不到引用的组件“SHDocVw”

在新的“构建”服务器上编译解决方案正在抛出

找不到引用的组件“SHDocVw”。

解决方案在其他构建服务器和开发人员机器上构建良好。我可以发誓它在两天前建造得很好。

此服务器的一个显着差异是 Windows 2008 R2。其他构建服务器是 Windows 2012,开发人员机器范围从 Windows 8.1 到 10。

我尝试删除引用并再次添加它(COM 引用 Microsoft Internet Controls),但没有成功。

更多来自错误消息:

无法解析 COM 引用“eab22ac0-30c1-11cf-a7eb-0000c05bae0b”1.1 版。未找到强名称密钥容器。

0 投票
0 回答
48 浏览

c# - 使用 SHDocVw 关闭文件夹时访问被拒绝

我尝试使用SHDocVw. 它不工作:

访问定义。

我以管理员身份运行我的程序。

0 投票
0 回答
443 浏览

c# - 尝试通过 C# 中的 InternetExplorer 从 URL 读取内容时失败

我有一个奇怪的行为,使用 InternetExplorer 对象从 http 站点读取信息:

到目前为止我的代码:

此代码适用于某些 Webistes,但对某些 Webistes 无效。对于那些没有的人,它失败了

System.Runtime.InteropServices.COMException

HRESULT E_FAIL

我找到了这些网站的解决方法,但我对此并不满意:

当我打开更多具有相同标题或 URL 的窗口时,我不知道哪一个是我之前打开的那个。

不幸的是,我无法共享无效的 URL,因为无法从我的基础架构外部访问它。

0 投票
2 回答
598 浏览

c# - DWebBrowserEvents2 事件 OnQuit 多次触发

我们正在使用 Internet Explorer 对象 ( Interop.SHDocVw, Version=1.1.0.0, Culture=neutral, PublicKeyToken=null) 在 WPF 应用程序之外打开资源管理器。

我们需要知道资源管理器何时关闭,因此我们处理 OnQuit 事件,但由于未知原因,我们多次收到该事件,具体取决于 URL。

以下 POC 演示了该问题:

0 投票
1 回答
146 浏览

c# - 进程延迟的退出事件

我有这个代码:

在这种情况下,退出的事件会立即执行。

如果我们将第一行更改为打开网页而不是空白页面:

在某些机器中,exited 事件不会立即运行,可能需要长达 20 秒。

额外的信息:

如果在延迟期间我们打开任务管理器并强制终止 iexplore 事件被触发,似乎某些外部进程阻止了 iexplore 的关闭。

我们使用反恶意软件工具检查了机器,一切正常。

0 投票
1 回答
1114 浏览

c# - C# - mshtml 和 SHDocVw 完整文档

我不确定这是否是一个有效的问题,但我很难为这两个 DLL、mshtmlSHDocVw找到合适的文档。

我正在尝试使用这 2 个 DLL 进行一些自动化操作。为此,我必须首先阅读并理解这两个库包含的内容、所有方法、函数等。

但我似乎无法在网上找到任何完整的文档。我尝试在 MSDN 甚至在 Microsoft 中进行检查,但它有些缺乏信息。例如,我找不到任何有关 HTMLInputTextElement 和 IHTMLSelectElement 的信息。

我想在包含有关这两个图书馆的充分/完整信息的网站/书籍上寻求您的帮助。我希望你们能指点我。

0 投票
0 回答
399 浏览

vb.net - 使用提交的数据在当前 Web 浏览器控件中打开新窗口

在我的项目中,我使用的是 Web 浏览器控件。我还可以使用以下帮助在同一浏览器控件中处理新窗口,以便回答:

SO回答在同一Web浏览器控件中打开新窗口

但我面临的问题是,如果我提交的表单在新窗口中打开但不起作用。

我注意到 SHDocVw Newwindow 事件具有 PostData(作为对象)参数,但 webbrowser 控件需要 PostData 作为字节数组。

SHDocVw Newwindow事件参数:

网页浏览器控件导航参数:

As Asked Here is My Code: (但由于它与提到的 SO 答案相同,我认为这没有任何帮助)

所以,我的问题是如何将 postdata 对象转换为 bytearray 以便 webbrowser 控件可以正确处理提交的表单/数据?