gpt4 book ai didi

C# 如何从 IE 获取当前 URL?

转载 作者:太空狗 更新时间:2023-10-29 19:57:40 26 4
gpt4 key购买 nike

我想从 IE (.NET 4) 获取当前 URL。为此,我添加了对 Microsoft 内部控件的引用并添加了代码(来自 http://omegacoder.com/?p=63)

foreach (InternetExplorer ie in new ShellWindowsClass())
{
textBox1.Text = ie.LocationURL.ToString();
}

但我得到 2 个错误:

1] The type 'SHDocVw.ShellWindowsClass' has no constructors defined

2] Interop type 'SHDocVw.ShellWindowsClass' cannot be embedded.
Use the applicable interface instead.

如何解决?

最佳答案

第二个错误导致第一个错误。打开项目的 References 节点,选择 SHDocVw。在“属性”窗口中,将“嵌入互操作类型”更改为 false。您必须部署 Interop.SHDocVw.dll 程序集,您将在程序中找到构建输出目录。

编辑:在研究了这个错误之后,我找到了一个更好的方法来做到这一点。问题是只能嵌入 COM 接口(interface) 类型,不能嵌入。因此,请避免在您的代码中使用合成的 XxxxClass 包装器。让它看起来像这样:

        foreach (InternetExplorer ie in new ShellWindows()) {
//...
}

这看起来很奇怪,您通常不能在 C# 语言的接口(interface)类型上使用 new 运算符。但实际上支持 COM 接口(interface)。

关于C# 如何从 IE 获取当前 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4173982/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com