问题标签 [mshtml]

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 投票
2 回答
3957 浏览

c# - 如何在 WebBrowser 控件中获取当前选定文本的字体大小

有什么方法可以获取 Microsoft WebBrowser 控件 (MSHTML) 中当前选定文本的字体大小?

我知道IHTMLDocument2::queryCommandState("FontSize", ...),但是对于过时的字体大小“xx-small”到“xx-large”,此方法仅返回 1 到 7 之间的值。对于像“10pt”或“14px”这样的字体大小,没有返回有用的值。

有没有更灵活的方法来确定字体大小?

编辑:与此同时,我找到了我的问题的解决方案(微软支持提供了一些有用的提示):

0 投票
1 回答
5225 浏览

wpf - 使用 HTMLDocument 操作 HTML 并在 WebBrowser-control 中显示它

我正在尝试在 WPF WebBrowser 控件中操作请求的文档。我已经设法在加载的文档上调用 JavaScript,但我无法更改控件本身中显示的 HTML 代码。

我在 OnNavigating-Handler 中的(非常简化的)代码如下所示:

-element 不会附加到控件中显示的文档中。任何提示都非常感谢!

0 投票
0 回答
645 浏览

mshtml - mshtml 8.0 和 Microsoft.mshtml 7.0

我有点困惑,也许你可以帮助我。

我有 mshtml.dll(8.0 版)和 Microsoft.mshtml.dll(7.0 版)

如果我去添加对我的 WPF 项目的引用并尝试添加 mshtml.dll,它会告诉我该引用必须是有效的程序集或 com 组件。没错,因为我知道我必须添加对 Microsoft.mshtml.dll 的引用,因为它是 mshtml.dll 的包装器,对吗?

现在,我的 mshtml.dll 版本是 8.0,Microsoft.mshtml 是 7.0。

我在哪里可以找到 8.0 版本的 Microsoft.mshtml.dll?

如果我添加 Microsoft.mshtml.dll 的 7.0,它会运行 mshtml 8 dll 的功能吗?

为什么它们不同?

非常感谢大家,杰森

0 投票
1 回答
1485 浏览

c++ - 如何在 C++ 中创建由 MSHTML 呈现的网页的 direct3d 纹理?

我已经通过 MSHTML(IE 的 Microsoft 渲染引擎)在我的本机 C++ 应用程序中集成了一个网页。

我现在要做的是生成显示网页的 LPDIRECT3DTEXTURE9(Direct3d 纹理)。

是否可以 ?你知道怎么 ?

提前感谢您的所有回答。

0 投票
1 回答
1472 浏览

mshtml - mshtml.dll 版本是 8.0,Microsoft.mshtml 是 7.0

我有点困惑,也许你可以帮助我。

我有 mshtml.dll(8.0 版)和 Microsoft.mshtml.dll(7.0 版)

如果我去添加对我的 WPF 项目的引用并尝试添加 mshtml.dll,它会告诉我该引用必须是有效的程序集或 com 组件。没错,因为我知道我必须添加对 Microsoft.mshtml.dll 的引用,因为它是 mshtml.dll 的包装器,对吗?

现在,我的 mshtml.dll 版本是 8.0,Microsoft.mshtml 是 7.0。

我在哪里可以找到 8.0 版本的 Microsoft.mshtml.dll?

如果我添加 Microsoft.mshtml.dll 的 7.0,它会运行 mshtml 8 dll 的功能吗?

为什么它们不同?

非常感谢大家,杰森

0 投票
1 回答
768 浏览

c# - 从 C# 通过 mshtml 调用 ActionScript (Flash) 方法

我使用 WPF 中的 WebBrowser 组件。我从 Internet 加载一个页面,然后访问 Document 属性来调用我的脚本。不幸的是,调用脚本不能按我的需要工作。当我调用 JavaScript 中存在的 JavaScript 方法时,它工作得很好,但是当我需要访问一些通过 Flash 可用的方法时,我遇到了问题。

我在浏览器中遇到异常对象不支持此属性或方法。在 C# 中,我从 HRESULT 得到异常:0x80020101

但是,当我尝试通过将其传递到 URL 中以 IE 或 Chrome 的形式在常规浏览器中启动此代码时,代码将被执行并看到结果。

也许是一些信任模式问题或其他什么可以拒绝访问 Flash 属性和方法?

顺便说一句:var allowScriptAccess 设置为始终。

谢谢你的帮助。

0 投票
1 回答
1231 浏览

c# - 在 C# 中使用 MSHTML 获取当前样式

我想使用 MSHTML 来获取 html 元素的样式。

我想要的是计算样式,但没有所有默认值。(仅在 html 和 css 中设置的那些)

MSHTML 有 3 种样式,我目前见过的样式,currentStyle 和 runtimeStyle。

style 和 runtimeStyle 仅具有内联样式,而当前 Style 具有所有内容,包括继承样式和默认样式。

有没有办法获得当前设置的样式(内联、外部和内部 css)但没有所有继承和默认值?

必须有一种方法可以做到这一点,IE 开发人员工具栏似乎知道哪些样式是从哪里继承的。

0 投票
0 回答
726 浏览

c++ - 如何在 C++ 中禁用 MSHTML 缓存?

由于 MSHTML,我不知道如何禁用嵌入 Web 浏览器的应用程序中的网页缓存。

我已经用谷歌搜索了它...... MSDNed它......但仍然无法找到答案......有人知道该怎么做吗?

提前感谢您的所有回答。

编辑:我现在在我的函数中捕获DISPID_AMBIENT_DLCONTROL事件。Invoke()

我尝试将 pVarResult 设置如下,但我没有得到任何结果(IE 缓存仍在用于显示任何网页。我想禁用它。)

0 投票
2 回答
569 浏览

c# - 检测 Webbrowser 控件上的渲染开始

试图弄清楚 webbrowser 控件何时开始向最终用户呈现(显示某些内容)。关于如何实现这一目标的任何想法?

0 投票
1 回答
314 浏览

winforms - 有没有办法以编程方式将 Windows 窗体控件插入 MSHTML (WebBrowser) 实例?

我有一个通过 Windows 窗体 WebBrowser 控件使用嵌入式 IE 的应用程序。我想在 HTML 页面中嵌入一些 .NET 控件。

有旧支持(从 .NET 1.0 开始)在 <object> 标记(dllname#controlname)中使用特殊的 classid,但通过实验我发现它只有在 dll 通过 http 提供时才有效,所以我不可能利用。

是否有任何其他方法可以将 .NET 控件(可能是 UserControl 子类)添加到加载到嵌入式 IE 实例中的现有 html 页面?

我可以在 .NET 中编写适当的 ActiveX 控件并使用无注册表 COM 来让 IE 实例化它吗?我似乎记得一些关于 MS 提供支持以逐步启用 VB 迁移的文章,但我找不到任何东西。

有关 MSHTML 的其他问题似乎暗示几乎不可能更改其内置行为,所以我几乎没有希望,这意味着如果有人有解决方案,我会非常高兴。

/P