帮忙推荐下书籍,资料,视频教程之类的
最好有力透纸背的文章快速入门,呵呵

解决方案 »

  1.   

    com本质论
    c++对象模型
    COM原理与应用
    深入解析ATL
    ......
      

  2.   


    还有 com技术内幕 也是一本不错看的书。
      

  3.   

    深入解析ATL,有理论,也有实践
      

  4.   

    没有理论做基础,实践也只是照葫芦画瓢,会让你摸不着头脑,越来越晕。
    首先看COM本质论的头两章,然后看COM技术内幕,然后再回头把COM本质论剩下的看完。
    关于实践性强点的可以看COM原理与应用中相关的如何用VC开发COM的部分。
      

  5.   

    com技术内幕挺不错的哈
    深入解析ATL
      

  6.   

    看来大家认为 com技术内幕 比 COM原理与应用 要好一些是吧
      

  7.   

    COM原理与应用我们这学期学组件技术就是这本书,感觉不错
      

  8.   

    Any one who has better idea?
      

  9.   

     COM/COM+技术内幕ATL开发指南电子版的书,可以发给你
      

  10.   

    找别人做的COM工程先一样画一画,然后有些概念以后,再看以上的那些COM书就会好多了
      

  11.   

    也在学习COM的路上晃荡着,希望能尽快有COM的工程拿来练练~~
      

  12.   

    COM--I have no idea about it right now 
      

  13.   

    我这次是专门进来告诉你一个好网站哦....
    http://www.vckbase.com/document/listdoc.asp?sclsid=1701
      

  14.   

    C++功力深厚的话,COM也没啥难的,不过com不是小公司玩的起的,随便写个小功能,代码一大堆,
      

  15.   

    COM本质论!!好书一本!绝对的!另外 你好好看看下面这段代码,就明白com是咋回事了!!
    #include <stdio.h>
    #include <malloc.h>
    #include <iostream.h>
    #include <objbase.h>const IID IID_IX = 
    {
    0xb9b8ace1, 0xce14, 0x11d0,
    {0xae, 0x58, 0x44, 0x45, 0x53, 0x54, 0x0, 0x0}
    };const IID IID_IY = 
    {
    0xb9b8ace2, 0xce14, 0x11d0, 
    {0xae, 0x58, 0x44, 0x45, 0x53, 0x54, 0x0, 0x0}
    };const IID IID_IZ = 
    {
    0xb9b8ace3, 0xce14, 0x11d0,
    {0xae, 0x58, 0x44, 0x45, 0x53, 0x54, 0x0, 0x0}
    };interface IX: IUnknown
    {
    virtual void __stdcall fx(void) = 0;
    };interface IY: IUnknown
    {
    virtual void __stdcall fy(void) = 0;
    };class CCOM_OBJECT : public IX, public IY
    {
    public:
    CCOM_OBJECT() :ref_count(0) {}
    ~CCOM_OBJECT() {}
    private:
    virtual HRESULT __stdcall QueryInterface(const IID &iid, void **iface);
    virtual ULONG __stdcall AddRef();
    virtual ULONG __stdcall Release();virtual void __stdcall fx(void)
    {
       cout<<"function fx has been called."<<endl;
    }
    virtual void __stdcall fy(void)
    {
       cout<<"function fy has been called."<<endl;
    }int ref_count;
    };HRESULT __stdcall CCOM_OBJECT::QueryInterface(const IID &iid, void **iface)
    {
    if(iid == IID_IUnknown)
    {
       cout<<"Requesting IUnknown interface"<<endl;
       *iface = (IX*)this;
    }if(iid == IID_IX)
    {
       cout<<"Requesting IX interface"<<endl;
       *iface = (IX*)this;
    }
    else if(iid == IID_IY)
    {
       cout<<"Requesting IY interface"<<endl;
       *iface = (IY*)this;
    }
    else
    {
       cout<<"Requesting unknown interface!"<<endl;
       *iface = NULL;
       return E_NOINTERFACE;
    }((IUnknown *)(*iface))->AddRef();return S_OK;
    }ULONG __stdcall CCOM_OBJECT::AddRef()
    {
    cout<<"Adding a reference"<<endl;
    return ++ref_count;
    }ULONG __stdcall CCOM_OBJECT::Release()
    {
    cout<<"Deleting a reference."<<endl;if(-ref_count == 0)
    {
       delete this;
       return 0;
    }
    else
       return ref_count;
    }IUnknown *CoCreateInstance(void)
    {
    IUnknown *comm_obj = (IX *)new(CCOM_OBJECT);cout<<"creating comm object"<<endl;comm_obj->AddRef();return comm_obj;
    }void main(void)
    {
    IUnknown *punknown = CoCreateInstance();IX *pix = NULL;
    IY *piy = NULL;punknown->QueryInterface(IID_IX, (void **)&pix);pix->fx();pix->Release();punknown->QueryInterface(IID_IY, (void **)&piy);piy->fy();piy->Release();punknown->Release();
    }
      

  16.   

    com本质论
    COM原理与应用
    com技术内幕
    已经买了以上三本,苦读中~~~
    感谢各位