首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

Regsvr32注册成功 但在注册表CLSID里没有发现该键值

2012-07-31 
求助 Regsvr32注册成功 但在注册表CLSID里没有发现该键值如题。附上代码,请各位大牛帮忙看看,这个问题困扰

求助 Regsvr32注册成功 但在注册表CLSID里没有发现该键值
如题。附上代码,请各位大牛帮忙看看,这个问题困扰我两天了!!不胜感谢

// AppMainTest.idl : AppMainTest 的 IDL 源
//

// 此文件将由 MIDL 工具处理以
// 产生类型库(AppMainTest.tlb)和封送处理代码。
import "oaidl.idl";
import "ocidl.idl";

[
object,
uuid(235B6F51-01AB-47f6-A7B1-6E738104F3A5),

helpstring("ITestApp Interface"),
pointer_default(unique)
]
interface ITestApp : IUnknown
{
[helpstring("method GetVersion")] HRESULT GetVersion([out] BSTR* _pStrVersion);
};

[
uuid(A77061F9-FBA7-48C5-AFED-84A513EDB302),
version(1.0),
helpstring("AppMainTest 1.0 类型库")
]
library AppMainTestLib
{
importlib("stdole2.tlb");

[
uuid(3210D7D8-4B42-4034-BFC8-73A0C36C60AE),
helpstring("CTestApp Class")
]
coclass CTestApp
{
[default] interface ITestApp;
};
};



//// CTest.h

#pragma once
#include "AppMainTest_i.h"
#include "resource.h" // 主符号
#include <comsvcs.h>

// CCTest

class ATL_NO_VTABLE CCTest :
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<CCTest, &CLSID_CTestApp>,
public ITestApp
{
public:
CCTest()
{
}

DECLARE_PROTECT_FINAL_CONSTRUCT()

HRESULT FinalConstruct()
{
return S_OK;
}

void FinalRelease()
{
}

DECLARE_REGISTRY_RESOURCEID(IDR_APPMAINTEST)

DECLARE_NOT_AGGREGATABLE(CCTest)

BEGIN_COM_MAP(CCTest)
COM_INTERFACE_ENTRY(ITestApp)
END_COM_MAP()

//ITestApp 
public:
STDMETHOD(GetVersion)(/*[out]*/ BSTR* pName);
};

OBJECT_ENTRY_AUTO(__uuidof(CTestApp), CCTest)

[解决办法]
代理存根注册没有?

看看资源IDR_APPMAINTEST ,类型库也有一个资源,这是注册用到的内容,是不是修改了或是删了。
[解决办法]

探讨

谢谢liyinlei,
代理存根已经注册了,
在注册表的CLSID可以找到{235B6F51-01AB-47F6-A7B1-6E738104F3A5}ITestApp的代理

但是CLSID_CTestApp{3210D7D8-4B42-4034-BFC8-73A0C36C60AE}
找不到!!!

#define IDR_APPMAINTEST101
类型库的资源是指什么??……

热点排行