如何为vs2008注册插件

时间:2011-11-29 10:01:26

标签: com atl visual-c++-2008

我是关于COM的新手。我想写一个位于vs2008的插件 工具栏(不是工具箱)。

我创建了一个ATL项目。它给了我一些默认代码。所以我可以生成一个DLL。通过这种方式,我可以通过TOOLs->选择工具项 - > COM组件将此插件添加到ToolBox。但我想将其添加到工具栏中。那我该怎么办

我在rgs文件中添加了一些regester信息,如下所示:

HKCU{ NoRemove SOFTWARE   {
NoRemove Microsoft
{
  NoRemove VisualStudio
  {
    NoRemove 9.0
    {
      NoRemove AddIns
      {
        ForceRemove PiSvr.CalcPi
        {
          val CommandLineSafe  = d '0'
          val CommandPreload   = d '1'
          val Description      = s 'Sample Common Add-In'
          val FriendlyName     = s 'Sample Common Add-In'
          val LoadBehavior     = d '1'           
        }
      }
    }
  }
}  }}

但是当我启动vs2008时,它告诉我没有支持这样的接口。错误号码:80004002

1 个答案:

答案 0 :(得分:1)

加载项连接位于HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0\AddIns下的注册表中,您的脚本看起来是正确的。请注意,您始终可以使用regedit来检查注册表项是否也存在于注册表中,而不仅仅是在脚本中。

0x80004002E_NOINTERFACE,可能发生的是Visual Studio正在尝试实例化和初始化您的加载项,但它缺少强制接口实现,Visual Studio会中止尝试。< / p>

要解决此问题,请调试您的加载项并检查查询的接口,尤其是。那些你返回错误代码并表明他们缺席的人。