首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ms-访问自定义菜单栏和注册表

ms-访问自定义菜单栏和注册表
EN

Stack Overflow用户
提问于 2012-02-04 17:37:54
回答 1查看 382关注 0票数 3

我正在执行这些周六早上的任务之一,试图理解为什么搜索我的计算机注册表中的某些信息会花费大量的时间,甚至会迫使我停止这个过程。使用其中一个注册表清理器,我发现代码花费了几十分钟来遍历代码行,如下所示:

代码语言:javascript
复制
HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Access\Settings\CommandBars\ACBCustom Popup...

由于我不能通过我的标准regedit访问这些行(它冻结了...),我发现了一段代码here,我稍微更新了一下,以便能够计算所有这些行,最终发现我的注册表中有70797个ACBCustom弹出行!

我想(但我不确定……)这与我们在access应用程序中广泛使用自定义菜单栏有关,在access应用程序中,每个窗体都有其在运行时创建的特定菜单栏,但我认为这些命令栏在过程结束时会自动删除。如果是,注册表中的这些行是用来做什么的?在运行ms-access应用程序时,我们如何避免创建它们?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-09 17:26:37

好的,

因为似乎没有人知道(或关心),我做了我的功课。这只是为了确认每次使用Application.CommandBars.Add方法时都会在注册表中添加一行。

除非您在关闭access应用程序之前明确删除所有临时命令栏,否则这些行将永久保留在注册表中。

我想在关闭应用程序之前删除这些命令栏可以被认为是“最佳实践”。一种解决方案是,一旦不再需要临时命令栏,就明确地删除它们。另一种选择是在退出应用程序时浏览所有命令栏,删除临时命令栏:

代码语言:javascript
复制
For i = Application.CommandBars.Count To 1 Step -1
    If not Application.CommandBars(i).BuiltIn Then
        Application.CommandBars(i).Delete
    End If
Next i
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9139877

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档