【发布时间】:2017-12-02 20:07:10
【问题描述】:
有时,如果我的 excel 插件最终位于禁用的 COM 插件中,它会被禁用,我可以使用以下代码启用它。但是,如果它最终出现在禁用项目中,我将无法使用此代码启用它。有没有办法可以启用禁用的项目。不知道我是否可以使用 regedit 来做到这一点。
我收到 COM 异常 {"Operation aborted (Exception from HRESULT: 0x80004004 (E_ABORT))"}
xl.Application myApp = new xl.Application();
foreach (COMAddIn currentAddIn in myApp.COMAddIns)
{
if (currentAddIn.Description == "Create Excel AddIn" && !currentAddIn.Connect)
{
try
{
currentAddIn.Connect = true;
}
catch (Exception)
{
CommonMethods.ExceptionHandler("Create tab couldn't be enabled", new StackTrace(true).GetFrame(0).GetFileLineNumber(), new StackTrace(true).GetFrame(0).GetMethod());
}
break;
}
}
return false;
}
【问题讨论】:
-
您无法阻止其他人禁用您。 “如果这成为可能,世界会是什么样子?” blogs.msdn.microsoft.com/oldnewthing/20040216-00/?p=40603
-
@mjwills 我不能在注册表中设置一些东西来再次启用它吗?
-
仅供测试,不适合其他用户
-
我正在运行单元测试,有时插件会被禁用。我有超过 200 个测试,不能只是停止它们,所以我可以手动启用插件
-
在您手动启用加载项时非常快速地运行 ProcessMonitor 以查看哪个注册表项将其打开或关闭
标签: c#