我想在託管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