自学内容网 自学内容网

如何彻底消灭多余右键菜单

目录

一、事情的起因——我是这样陷入红温的

(一)让你给我选择(隐藏右键菜单),那是给你面子

二、认识到学习是人类进步的楼梯——电梯有坏时,楼梯不可无。虽然爬楼梯很累。 

(二)但如果你不想给我选,那就不需要你给

一、操作系统消息机制基础

二、右键菜单与注册表的关系

注册表结构与右键菜单映射

多层嵌套与继承关系

应用程序安装与注册表修改

备份注册表

关联性影响

(三)可能是时候动手删多余的右键菜单选项了

步骤截图:

结果对比:

*对于浏览器主页:

 三、结语

(11/5补充)


一、事情的起因——我是这样陷入红温的

        事情是这样的, long long ago(or today)我在重装系统后,同时安装回了几个软件。原本以为只要做备份重装系统就不会有烦恼,然而点击右键之后我瞬间红温,满满的右键菜单——360压缩、百度网盘、wps、鲁大师.......,最令我气愤的是,我右键菜单的“刷新”选项竟然还被它们挤到了屏幕外面

       当时情况的复现——令郎满目的右键菜单

被挤到屏幕外面的选项 

        Edge的“360导航_一个主页,整个传奇”

(一)让你给我选择(隐藏右键菜单),那是给你面子

我尝试着通过软件自带的设置来解决(不是通过360的右键菜单管理)

在wps中寻找取消右键菜单的选项

        很明显我没有找到,因为wps的右键菜单藏在设置下面的配置与恢复的高级配置的功能定制的系统右键菜单中,而且每选择隐藏一个就要确认一次。

        至于百度网盘,可能真的没有,如果有人在百度网盘中找到了和隐藏右键菜单有关的设置,感谢分享经验。

二、认识到学习是人类进步的楼梯——电梯有坏时,楼梯不可无。虽然爬楼梯很累。 

(二)但如果你不想给我选,那就不需要你给

        由于始终无法找到某些应用的右键菜单选项,我最终选择一劳永逸的解决方法——通过注册表配置右键菜单的内容——这最能让我感觉这台电脑是自己的世界,受自己掌握,而不是一个怪物世界和被流氓软件奴役的自己。

一、操作系统消息机制基础

  • 在Windows操作系统中,当用户在某个对象(如文件、文件夹、桌面空白处等)上点击鼠标右键时,操作系统会检测到这个鼠标事件。鼠标事件是操作系统输入消息系统的一部分,操作系统会根据鼠标指针的位置等信息来确定这个事件发生的具体位置。
  • 消息被发送到操作系统的消息队列,然后按照一定的顺序分发给相应的窗口或应用程序。例如,在Windows中,每个窗口都有一个窗口过程来处理各种消息,包括鼠标消息。

二、右键菜单与注册表的关系

  1. 注册表结构与右键菜单映射
    • HKEY_CLASSES_ROOT是右键菜单相关注册表项的核心区域,是HKEY_CURRENT_USER\Software\ClassesHKEY_LOCAL_MACHINE\SOFTWARE\Classes的合并视图。
    • 文件扩展名在HKEY_CLASSES_ROOT下有对应键,如.docx文件对应的键包含右键菜单设置。
    • Shell子键为例,其下每个子键代表一个右键菜单命令,Command子键包含执行命令的可执行文件路径和参数,有些命令可能还有Icon子键指定图标。
  2. 多层嵌套与继承关系
    • 右键菜单注册表设置可能多层嵌套,某些命令基于通用模板或父类定义。
    • 例如文本文件类型可能有通用父类定义,各具体文件类型在此基础上扩展或修改右键菜单。
    • 手动删除右键菜单相关注册表项时需谨慎,以免影响继承关系,操作前最好备份相关注册表项。
  3. 应用程序安装与注册表修改
    • 某些应用程序安装时可能添加右键菜单命令。
    • 有些右键菜单命令无关闭选项,被认为是开发者希望用户多用其功能或开发时未考虑关闭需求(希望开发者也是这么想的)。
  4. 备份注册表
    • 修改注册表前必须备份相关注册表项,可使用注册表编辑器的导出功能,将HKEY_CLASSES_ROOT下可能涉及的键导出为.reg文件。
    • 若修改后出现问题,可导入备份文件恢复注册表原始状态。
  5. 关联性影响
    • 右键菜单注册表项之间可能有关联性,删除某个命令时要确保不影响其他正常功能。
    • 例如删除文件类型所有右键菜单命令可能使文件操作不便,应仔细甄别子键作用,仅删除不需要的特定命令对应的注册表项。

(三)可能是时候动手删多余的右键菜单选项了

        以下是一般情况下删除注册表操作步骤(仅以百度网盘右键菜单为学习用例),如果有顾虑,在操作之前可以备份注册表:

  1. 按下Win + R键,打开“运行”对话框,输入“regedit”并回车,打开注册表编辑器。
  2. 在注册表中找到以下键值:
    • HKEY_CLASSES_ROOT\Directory\shellex\ContextMenuHandlers
    • HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\YunShellExt
  3. 右键单击,然后选择“删除”。
  4. 关闭注册表编辑器。

步骤截图:

  • 按下Win + R键,打开“运行”对话框,输入“regedit”并回车,打开注册表编辑器。

  • 在注册表中找到以下键值(可能需要耐心查找):
    • HKEY_CLASSES_ROOT\Directory\shellex\ContextMenuHandlers
      (这个键值与在文件夹右键菜单中的百度网盘相关项有关)
    • HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\YunShellExt
      (这个键值与在文件右键菜单中的百度网盘相关项有关,只删掉这个也可以)

  • 右键单击,然后选择“删除”。
    • 如果只是想去除文件右键菜单中的百度网盘选项,只删除HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers\YunShellExt通常就足够了。这是因为这个键值是专门针对百度网盘右键菜单功能的一个定义部分,(删除它不会影响其他正常的右键菜单功能或者系统运行)。
    • 然而,HKEY_CLASSES_ROOT\Directory\shellex\ContextMenuHandlers这个键值一般是与文件夹右键菜单相关的。有些软件的右键菜单注册比较复杂,可能会在多个位置有相关键值,以实现不同的功能。(如果只删除YunShellExt这个键值后,发现百度网盘右键菜单仍然存在或者部分存在,可能就需要进一步查找其他相关键值并进行删除。不过,这种情况相对较少,并且需要更加谨慎地操作。)
  • 关闭注册表编辑器。

结果对比:

*对于浏览器主页:

        由于这次删除360和鲁大师后,我的主页恢复了正常,所以没有继续深入研究。但我之前遇到过这个问题,即使删除了也没有恢复,尝试通过Edge的设置修改“启动时”也没用。我在“快捷方式”选项卡中查看了“目标”栏的内容,但没有发现与360导航相关的网址。然而,当我打开浏览器时,它仍然显示为360导航(或2345导航)。最终我只能通过修改浏览器.exe文件的文件名来解决问题,这样虽然可以防止篡改我浏览器主页的软件识别它是浏览器,但也导致其他电脑软件找不到浏览器,需要我手动拖动文件到浏览器快捷方式上,这给会带来不必要的麻烦。

    

 三、结语

        每个时代都存在着自身的不足,我们不应逆势而为。正确的做法是要认识到这些不足,并且懂得如何去解决它们。毕竟,只是大喊“我讨厌这个时代”是无济于事的。当我们真正着手去解决问题时,才会发觉这个问题其实很简单。就像我们讨厌右键菜单缺乏设置时,也许那些没给右键设置相关功能的人也在说“赚钱嘛,难免寒酸些”。与其期待他人出于良心提供一个设置,不如自己去学习掌握电脑知识。

(11/5补充)

  • 在提到软件开发者未提供右键菜单设置等情况时,只是从用户单方面的角度进行了略带调侃的批判(如“赚钱嘛,难免寒酸些”),没有考虑到可能存在的其他因素,例如开发资源有限、功能优先级的权衡等。这可能会让各位读者觉得开发者是故意忽略用户需求,而忽略了软件开发过程中的复杂性。我们也要知道,软件开发是一个复杂的过程,其中涉及到开发资源的分配以及功能优先级的权衡等多方面因素。开发团队可能由于人力、资金或者市场竞争等原因,在软件功能的开发顺序上做出了不同的选择。例如,一个小型的软件开发团队可能在有限的人力情况下,需要优先开发软件的核心功能,如文件处理功能对于办公软件,而像右键菜单设置这样相对边缘的功能可能就会被暂时搁置。他们需要在满足基本用户需求和提供更多个性化设置之间进行权衡。


原文地址:https://blog.csdn.net/m0_73631172/article/details/143518261

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!