使用Visual C#2010 Express在C#项目中添加引用“SHDocVw”

我正在学习使用MS Visual Studio 2010和C#创建BHO的教程。 为了运行教程代码,我必须在我的项目中添加此引用: –

使用SHDocVw

但它在“添加引用”中的.NET或COM部分中不可用。

所以我想问一下,这个命名空间在Microsoft Visual C#2010 Express中不可用吗? 如果可用,如何添加它。

这是我的中途项目代码

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace IEPlugin { [ ComVisible(true), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), Guid("FC4801A3-2BA9-11CF-A229-00AA003D7352") ] public interface IObjectWithSite { [PreserveSig] int SetSite([MarshalAs(UnmanagedType.IUnknown)]object site); [PreserveSig] int GetSite(ref Guid guid, out IntPtr ppvSite); } [ ComVisible(true), Guid("2159CB25-EF9A-54C1-B43C-E30D1A4A8277"), ClassInterface(ClassInterfaceType.None) ] public class BHO : IObjectWithSite { private WebBrowser webBrowser; public int SetSite(object site) { if (site != null) { webBrowser = (WebBrowser)site; webBrowser.DocumentComplete += new DWebBrowserEvents2_DocumentCompleteEventHandler( this.OnDocumentComplete); } else { webBrowser.DocumentComplete -= new DWebBrowserEvents2_DocumentCompleteEventHandler( this.OnDocumentComplete); webBrowser = null; } return 0; } public int GetSite(ref Guid guid, out IntPtr ppvSite) { IntPtr punk = Marshal.GetIUnknownForObject(webBrowser); int hr = Marshal.QueryInterface(punk, ref guid, out ppvSite); Marshal.Release(punk); return hr; } public void OnDocumentComplete(object pDisp, ref object URL) { HTMLDocument document = (HTMLDocument)webBrowser.Document; } } 

}

以下是错误: –

错误1找不到类型或命名空间名称“SHDocVw”(您是否缺少using指令或程序集引用?)

错误2找不到类型或命名空间名称’WebBrowser’(您是否缺少using指令或程序集引用?)

您需要添加对名为Microsoft Internet Controls的COM组件的引用。

在此处输入图像描述