指令上訪問接口的應用程序,在平原 C/C++ 而不:使用CoGetClassObject()在C - 訪問COM對象接口
- MFC
- ATL
- WTL
基本上,我想利用一個COM對象。
工作示例源代碼或指導 - 至使用(功能)一個COM對象,而不是創建一個COM服務器。
問候
指令上訪問接口的應用程序,在平原 C/C++ 而不:使用CoGetClassObject()在C - 訪問COM對象接口
基本上,我想利用一個COM對象。
工作示例源代碼或指導 - 至使用(功能)一個COM對象,而不是創建一個COM服務器。
問候
這裏是純C++一個簡單的例子:
CoInitialize(NULL); // absolutely essential: initialize the COM subsystem
IMyInterface* pIFace;
// create the object and obtain a pointer to the sought interface
CoCreateInstance(CLSID_MyObject, NULL, CLSCTX_ALL, IID_IMyInterface, &pIFace);
pIFace->MethodIReallyNeed(); // use the object
pIFace->Release(); // free the object
CoUninitialize(); // cleanup COM after you're done using its services
從這裏複製:COM Basics
好吧,假設你有接口聲明,所有你需要的是,以初始化COM,然後調用CoCreateInstance得到您的實例(並使用它),然後視CoUnInitialize對CoInitialize的調用不初始化COM。
CasperOne,你有一個小例子?我對Windows編程不熟悉 - 我來自Linux世界... – Aaron 2009-01-08 05:15:19
有CodeProject上,Introduction to COM - What It Is and How to Use It一篇文章,可能對你有用。它給出了一個相當不錯的介紹和一個工作的例子。
避免codeproject(新手),並查看有關COM的所有MSDN章節。
一切都在那裏,以噸C和C++示例代碼
剛上COM(唐框或戴爾Rougerson)是指一本好書。這是COM World的良好起點。
我真的建議你看看ATL。 (WTL不會幫助; MFC膨脹)CComPtr,CComBSTR,CComVariant這3個輔助類將使您的生活變得更加輕鬆,並且對於使用其他COM對象,您不需要太多。 – 2009-01-08 14:16:53
嗨,我會考慮ATL - 爲了簡單起見,但我寧願/想要手動學習/處理所有控制。謝謝:) – Aaron 2009-01-08 14:53:48