Add Reference... 将“shdocvw.dll”添加到我的项目引用中,然后单击Browse 并-6ren">
gpt4 book ai didi

c# - 无法将 "C:\Windows\System32\shdocvw.dll"添加到我的项目中

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

我使用 VS 2010 Ultimate。

我正尝试通过右键单击References -> Add Reference... 将“shdocvw.dll”添加到我的项目引用中,然后单击Browse 并导航到“C:\Windows\System32\shdocvw.dll”,但是当我单击添加 按钮时,什么也没有发生。该对话框甚至没有关闭。

知道我做错了什么吗?

我尝试重启 VS,但一直有这个问题。

最佳答案

在您的 C# 解决方案中,如果您添加对名为“Microsoft Internet Controls”的 COM 组件的引用,您应该能够从 C# 控制台应用程序访问 SHDocVw 命名空间,而无需执行任何异常操作。

一旦我这样做了(在 VS 2008 中),我就可以使用 SHDocVw.ShellWindows、SHDocVw.IWebBrowser2 等等。例如:

SHDocVw.ShellWindows shellWindows = new SHDocVw.ShellWindowsClass();

foreach (SHDocVw.IWebBrowser2 ie in shellWindows)
{
Console.WriteLine("ie.LocationURL: " + ie.LocationURL);
if (ie.LocationURL.Contains("foo.com"))
ie.Quit();
}

编辑:当使用 VS 2012/.NET 4.x 时,您可以使用下面的方法来解决错误“无法嵌入互操作类型‘SHDocVw.ShellWindowsClass’。”

using SHDocVw;
// ... snip ...
SHDocVw.ShellWindows shellWindows = new ShellWindows();
foreach (SHDocVw.IWebBrowser2 ie in shellWindows)
{
Console.WriteLine("ie.LocationURL: " + ie.LocationURL);
if (ie.LocationURL.Contains("foo.com"))
ie.Quit();

有关 VS 2012 问题的更多信息,请参阅此答案:

C# How to get current URL from the IE?

关于c# - 无法将 "C:\Windows\System32\shdocvw.dll"添加到我的项目中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6530083/

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