小弟初学COM,使用ATL新建了个COM得DLL,编译完成后,想在 vs中调用,可是不知道它的CLSID,查注册表的也不对,请教该怎么调用?

解决方案 »

  1.   

    工程最上面有个xxx_i.c  xxx_i.h,把这两个include进去就行了
      

  2.   

    按照1L说的可以了,那请问怎么调用?
    回复2L,我这好像没TLB文件啊,没找到啊
      

  3.   

    你查看那个 xxx_i.h,声明都在里面了
      

  4.   

    看他的IDL文件,都在IDL文件里
      

  5.   

    // atl001.idl : atl001 的 IDL 源
    //// 此文件将由 MIDL 工具处理以
    // 产生类型库(atl001.tlb)和封送处理代码。import "oaidl.idl";
    import "ocidl.idl";[
    object,
    uuid(7EEACDFD-EFE5-4964-B817-DDB5F4020656),
    dual,
    nonextensible,
    helpstring("Itest 接口"),
    pointer_default(unique)
    ]
    interface Itest : IDispatch{
    };
    [
    uuid(52FBCE97-0FD6-4A34-96C3-CF75B9DE47E0),
    version(1.0),
    helpstring("atl001 1.0 类型库")
    ]
    library atl001Lib
    {
    importlib("stdole2.tlb");
    [
    uuid(AB9EEF28-7F69-4257-BADB-329C1BB3B725),
    helpstring("test Class")
    ]
    coclass test
    {
    [default] interface Itest;
    };
    };
      

  6.   

    比如上面的,就是 AB9EEF28-7F69-4257-BADB-329C1BB3B725