我有一個程序,它附帶一個.tlb文件,用我自己的C++程序訪問某些函數/對象(讀取變量等)。我做了搜索,進口與.tlb文件:獲取導入的函數/對象.tlb
#import "MyLib.tlb" named_guids no_namespace
我還可以通過使用從OLEView.exe這類的LIBID(PROGID不工作)導入。
即使我得到一些警告(如下圖),我的程序仍然運行:
C4278 ['TextOut', 'CreateEvent', 'DeleteFile'] is already a macro; use the 'rename' qualifier
但是...我怎麼能現在所獲得的功能/對象的訪問? 對不起,我是初學者,請耐心等待。 它以某種方式與IDispatch一起工作嗎?我是否需要導入更多的dll或是否需要更多#include指令?
我正在使用Visual C++ 2008 Express。
-
編輯:好的抱歉,我已經有權訪問對象的標題(我在自動完成中看到「應用程序」),但我不知道如何獲取對象。
而且我想我找到了相關wikipedia article。
http://books.google.com/books?id=ImlftNNqn6MC&pg=PA168&lpg=PA168&dq=_com_ptr_t&source=bl&ots=pjGZXG5fNj&sig=KRzrG5vV1TWKQ43vjWR9w_4eZ8g&hl= en&ei = cRfeTqnyCeXo2AXrtJSxBQ&sa = X&oi = book_result&ct = result&resnum = 1&ved = 0CCQQ6AEwADgK#v = onepage&q = _com_ptr_t&f = false –