我想在托管C++程序中使用SHDOCVW。我已阅读COM Interop using managed C++ - CodeProject。我使用How to add references to a managed Visual C++ project中的说明创建Interop.shdocvw.dll。我将该文件移至我的项目目录。我正在使用VS 2010 Professional。我添加了:SHDOCVW在托管C++
#using "Interop.shdocvw.dll"
我的程序。在我的计划,我有:
SHDocVw::ShellWindows swList;
我收到错误:
错误C2653:“SHDOCVW”:不是类或命名空间名称
我也使用了“使用命名空间尝试“但那也行不通。
我不会因此被发现将文件从使用#using得到一个错误。我假设我已经接近完成它的工作;我错过了什么?
谢谢你,汉斯。 我下载了[ILSpy] [1]。它告诉我名字空间是Interop.shdocvw。当然,这是用于C++的Interop :: shdocvw。这工作。是的,我收到了消息“*不能在没有顶级'^'*的情况下使用此类型”,因此,了解帽子并不需要很长时间。 感谢您提供添加参考的替代方法。我将来可能会这样做。 所以现在我需要弄清楚如何让事件挂钩,但我相信这很容易,尤其是与使用非托管C++进行比较。 [1]:http://wiki.sharpdevelop.net/ilspy.ashx – 2011-05-30 02:19:14
我知道你(汉斯)有最好的建议可能,我从别处认识你,可能是MSDN论坛。我是MSDN论坛中的SimpleSamples。 – 2011-05-30 02:21:39