2010-06-30 26 views
0

http://www.adp-gmbh.ch/win/com/bho.html如何編譯和構建IE的BHO?

當我編譯,我得到很多的錯誤:

error C2236: unexpected 'class' 'adpbho'. Did you forget a ';'? 

error C3381: 'adpbho' : assembly access specifiers are only available in code compiled with a /clr option 
..\adpbho.cpp(15) : error C3861: 'MB1': identifier not found 
..\adpbho.cpp(24) : error C3861: 'MB1': identifier not found 
..\adpbho.cpp(34) : error C3861: 'MB1': identifier not found 
..\adpbho.cpp(85) : error C3861: 'MB1': identifier not found 
..\adpbho.cpp(95) : error C2014: preprocessor command must start as first nonwhite space 
..\adpbho.cpp(96) : error C2039: 'MB1' : is not a member of 'adpbho' 

回答

2

好吧,假設你關掉你的大腦,只要剪切和粘貼在該網站上的垃圾,第一個錯誤是,這是不是一種有效的方法來聲明一個C++類:

class BHO class adpbho : public IObjectWithSite, public IDispatch { 

有兩個類語句。這是不允許的。它可能應該是:

class adpbho : public IObjectWithSite, public IDispatch { 

其餘的代碼也非常可怕。你將不得不逐行進行清理,或找到更好的樣本。

編輯:我看的越多,看到的錯誤和錯誤就越多。我強烈建議您不要使用此代碼,而是在某處找到更好的示例。

這與BHO或IE插件沒有任何關係,並且與基本的C++ win32編程有關,所以我將修復您的標記。