如何取消右键菜单?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何取消右键菜单?相关的知识,希望对你有一定的参考价值。

参考技术A 如何删除桌面右键菜单?
1. 单击Windows的“开始”菜单,单击“运行”,在“打开”框中键入“regedit”,单击“确定”按钮,打开“注册表编辑器”窗口。

2. 展开“HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers”分支,在其下找到要删除的无用项,然后右键单击该项,再单击“删除”将其删除即可清除右键菜单中的对应选搐。对于仅在文件夹右键菜单中才有的选项,可到HKEY_CLASSES_ROOT\Directory\shellHKEY_CLASSES_ROOT\

Directory\shellex\ContextMenuHandlers分支下查找。有时HKEY_CLASSES_ROOT\Folder\shell和HKEY_CLASSES_ROOT

\Folder\shellex\ContextMenuHandlers分支下也有右键菜单中的选项。

要方便的话 用windows优化大师也行 里面有系统设置里的右键设置 把不需要的删除就完成了
如何去除右键菜单中多余选项?
运行regedit

提供一下注册表键值:

HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerMenuExt

可以找到右键的菜单项目删除按F5刷新即可

这里的右键菜单是你装了第三方软件被加上去的,只能删除这些,如果想删除系统自带的右键菜单是不可以的

应用软件的右键加载项,可以通过修改注册表:

找到HKEY_LOCAL_MACHINE\Software\CLASSES\Folder\shell\HKEY_LOCAL_MACHINE\Software\CLASSES\Directory\shell\两个键值,看看是否有相应的键值。并且在注册表查找 软件名 的关键字,删除相应的键值即可。注意删除前清洗备份注册表!

有些系统自带菜单也是可以删除的,不过需要第三方软件。比如超级兔子,onlinedown/soft/2636

安装后直接使用 超级兔子魔法设置 这个功能就好了。
怎么删除桌面右键菜单中的选项
清除鼠标右键菜单中多余项清除鼠标右键菜单中多余项的操作步骤如下: (清除IE中右键的方法) (1)在系统桌面上单击“开始→运行”项。 (2)在随后出现的窗口中的“打开”栏中键入regedit并单击“确定”按钮运行注册表编辑器。 (3)在注册表的HKEY_CURRENT_USER\Software\Microsoft 鸡;Internet Explorer\MenuExt下都有 随着安装软件的不断增多,右键菜单也越来越长,臃肿不堪。这样,本来以快捷菜单自居的右键菜单使用起来反而并不快捷。别急,以下我们就为右键菜单“减负”。 一、摺叠右键二级菜单 有些软件在右键菜单中有多个命令选项,比如安装WinRAR后,就有数个项目会附加到标准文件和文件夹的右键菜单中。以下设置能够将WinRAR右键菜单全部项目压缩到“WinRAR”子菜单中(操作以WinRAR3.30为例):在WinRAR主窗口,单击“选项”菜单中的“设置”,单击“综合”选项卡,选中“层叠右键关联菜单”复选框,单击“确定”按钮。如果你的电脑右键菜单还有其他软件的多个选项,就由你自己研究将它们组合为右键子菜单的方法吧! 二、删除不常用菜单项 或许右键菜单中的有些选项你并不常用,或者,有些软件已被删除,但其右键菜单中的选项却仍占用着屏幕空间。要删除这些无用的右键菜单项,请按下述方法操作: 1. 单击Windows的“开始”菜单,单击“运行”,在“打开”框中键入“regedit”,单击“确定”按钮,打开“注册表编辑器”窗口。 2. 展开“HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers”分支,在其下找到要删除的无用项,然后右键单击该项,再单击“删除”将其删除即可清除右键菜单中的对应选项。对于仅在文件夹右键菜单中才有的选项:可到 HKEY_CLASSES_ROOT\Directory\shell 分支下也有右键菜单中的选项。 HKEY_CLASSES_ROOT\Folder\shell 分支下也有右键菜单中的选项。 HKEY_CLASSES_ROOT \Folder\shellex\ContextMenuHandlers 分支下也有右键菜单中的选项。 清理显卡在桌面上的右键 显卡在桌面右键有选项令人很反感,可通过注册表修改:HKEY_CLASSES_ROOT\Directory\Background\shellex\ContextMenuHandlers 下面有两个键值,把除NEW以外的那个删掉。 3.关闭“注册表编辑器”窗口
怎么删除桌面右键菜单项
单击Windows的“开始”菜单,单击“运行”,在“打开”框中键入“regedit”,单击“确定”按钮,打开“注册表编辑器”窗口。 2. 展开“HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers”分支,在其下找到要删除的无用项,比如上图中的“打开好桌道壁纸”,然后右键单击该项,再单击“删除”将其删除即可清除右键菜单中的对应选项。

对于仅在文件夹右键菜单中才有的选项,可到HKEY_CLASSES_ROOT\Directory\shellHKEY_CLASSES_ROOT\ Directory\shellex\ContextMenuHandlers分支下查找。有时HKEY_CLASSES_ROOT\Folder\shell和HKEY_CLASSES_ROOT \Folder\shellex\ContextMenuHandlers分支下也有右键菜单中的选项。

3.关闭“注册表编辑器”窗口。
怎么去掉电脑鼠标右键菜单里的一些软件的关联
以删除WINAMP为例

(1)在运行中输入“REGEDIT”启动注册表编辑器,打开HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ Directory\shell子项。(2) 用户在shell子项中会发现【Winamp.Bookmark】、【Winamp.Enqueue】和【Winamp.Play】子项,很明显这3个子 项分别对应着鼠标右键关联菜单中的命令。用户打开这3个子项所含的默认值项,会发现默认值项的数值数据就是鼠标右键关联菜单中的 Winamp命令名称。

(3)将【Winamp.Bookmark】、【Winamp.Enqueue】和【Winamp.Play】子项和这3个子项下所含内容全部删除。(4)退出注册表编辑器。这时,在文件或文件夹上单击鼠标右键,就会发现原本存在于菜单中的Winamp命令全部消失了。上面介绍的删除Winamp应用程序在鼠标右键关联菜单中添加的命令的方法也适用于其他应用程序。
鼠标右键菜单里的东西怎样删除和添加?
1:首先按下WIN键+R,在弹出的对话框中输入“regedit”,然后按“确定”。

2:在打开的“注册表编辑器”窗口中,打开 HKEY_CURRENT_USER\Software\ Microsoft\Internet Explorer\MenuExt主键,在该主键下会有许多的子主键,这些子主键的名称就是显示在右键菜单中的命令,只需找到显示命令的那条主键条目,单击鼠标右键,在弹出的快捷菜单中选择“删除”即可。

3:或者下载 右键管家这样的工具,安装软件的提示去操作即可。
怎样删除右键的多余菜单
@ ECHO OFF

@ ECHO.

@ ECHO.

@ ECHO. 说 明

@ ECHO -----------------------------------------------------------------------

@ ECHO 很多显卡在装了驱动之后,桌面右键会多出一项或多项菜单,这些功能并不实用,

@ ECHO 还会拖慢右键的弹出速度,以Intel的集成显卡为甚。迟纯的反应速度严重地影响

@ ECHO 了使用者的心情。我们最好清除它。

@ ECHO -----------------------------------------------------------------------

PAUSE

regsvr32 /u /s igfxpph.dll

reg delete HKEY_CLASSES_ROOT\Directory\Background\shellex\ContextMenuHandlers /f

reg add HKEY_CLASSES_ROOT\Directory\Background\shellex\ContextMenuHandlers\new /ve /d D969A300-E7FF-11d0-A93B-00A0C90F2719

reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v HotKeysCmds /f

reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v IgfxTray /f

把上面代码复制进记事本,另存为所有文件,*.bat,
win7怎么删除右键菜单中选项。
我的也是,和你的一模一样!!不过我已经解决了,不过比较麻烦,可以使用360功能大全的右键功能,但是360对win7不开放此功能所以首先我们要先破解此功能。

第一步,断网,为了安全。打开360,找到木马防火墙,如果找不到的话,选择“使用经典版”就在“功能大全”的上面然后把下面所有的防御能关的都关了,然后找到设置选项里的高级设置,选择临时关闭自我保护。ok现在开始操作。

在 360安全卫士 安装主目录(通常是名为 360Safe 的文件夹 ) 里找到 Config 文件夹,进入 Config 文件夹,找到名为 AdvTools.xml 和 AdvTools1.xml 两个文件 复制两个文件到桌面等待操作(也是安全起见,不要对原文件操作,并且做好备份一下这两个文件)

4. 选中桌面的AdvTools.xml 文件并右击它,在 打开方式 中选择 记事本;这是 AdvTools.xml 文件以文本文件的形式打开了;这是在 记事本 操作界面中选择 上面 的 “编辑 ”按钮,选中里面的“查找”选项;这是会弹出一个 查找 界面,在 查找内容 的框中输入 右键菜单管理 并按回车键;这是就自动找到了 右键菜单管理 所在的这一行文字了;右键菜单管理 所在的这一行文字 上数 两行找到 ExcludeSystem="WindowsVista;Windows7;" 这一行文字之后,删除这一行两个引号之间的内容,也就是 WindowsVista;Windows7; 这几个字符,其他内容不要改动,保存之后关闭退出(注意保存时要在文件名后加 .xml 保持扩展名一致嘛,不然保存完就成txt文件了)

5. 对 AdvTools1.xml 文件进行同样的操作

6. 将两个文件复制回 Config文件夹 ,粘贴并覆盖原文件(如果没有关闭360安全卫士的自我保护,是没办法覆盖源文件的);

重新打开360安全卫士,首先把关的保护都打开,然后联网,然后找到右键菜单管理(在功能大全里面,仔细找哦,我也找了好一会呢,就是带鼠标图像的),点击后下载安装后打开(好像是自动就打开了),点击开始扫描,找到那个catalyst control center 打钩选择,然后点击右下角的删除选项。好了,大功告成!!
怎么清除右键菜单选项中的垃圾选项
清除右键显卡菜单 在运行里输入: regsvr32 /u nvcpl.dll 就OK了 试试吧!~

或许右键菜单中的有些选项你并不常用,或者,有些软件已被删除,

但其右键菜单中的选项却仍占用着屏幕空间。要删除这些无用的右键菜单项,请按下述方法操作:

1. 单击Windows的“开始”菜单,单击“运行”,在“打开”框中键入“regedit”,

单击“确定”按钮,打开“注册表编辑器”窗口。

2. 展开“HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers”分支,在其下找到要删除的

无用项,然后右键单击该项,再单击“删除”将其删除即可清除右键菜单中的对应选项。对于仅在

文件夹右键菜单中才有的选项,可到HKEY_CLASSES_ROOT\Directory\shellHKEY_CLASSES_ROOT\

Directory\shellex\ContextMenuHandlers分支下查找。有时HKEY_CLASSES_ROOT\Folder\shell

和HKEY_CLASSES_ROOT\Folder\shellex\ContextMenuHandlers分支下也有右键菜单中的选项。

3.关闭“注册表编辑器”窗口。

怎么样,经过以上工作,右键菜单清爽多了吧!

清理文件右键

运行 regedit 展开HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers

分支 在其下找到要删除的无用项 删除即可清洁右键菜单中的对应选项

清理IE右键

打开注册表编辑器,然后依次展开如下键值:HKEY_CURRENT_USUR\Software\Microsoft

\Internet Explorer\MenuExt。 看见了吗?将有关的内容统统删除。

如何清理IE右键菜单

当我们的右键菜单受到修改时,该怎么办呢?

首先先来说一下原因:这是因为注册表项目受到修改,具体是

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt

下被新建了网页的广告信息,并由此在IE右键菜单中出现!

解决办法:

打开注册标编辑器,找到

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt

删除相关的广告条文即可,注意不要把下载软件FlashGet和Netants也删除掉,这两个可是“正常”的,

除非你不想在IE的右键菜单中见到它们。通过这一节的介绍,相信你已经知道了如何清理IE右键菜单。

清理显卡在桌面上的右键

显卡在桌面右键有选项令人很反感,可通过注册表修改:HKEY_CLASSES_ROOT\Directory\Background\shellex\ContextMenuHandlers

下面有两个键值,把除NEW以外的那个删掉。

对于第二个,还是找......>>
如何删除右键菜单打开方式列表中的程序
有时候我们希望删除右键菜单打开方式列表中的程序 ,这些程序一般是你自己选择的打开方式或者安装软件的时候自动关联的。有时候比如安装了ACDSEE绿色版的,而且你自己手动选择一副jpg图片的打唬方式为ACDSEE,下次你把ACDSEE卸载了。你会发现打开方式中浏览到ACDSEE打开,却没有任何反映,列表中却没有被删除。方法一:自动文件关联功能进入任一文件夹,选择菜单栏的工具—》文件夹选项—》文件类型,将不需要的项目删除 ,这是会提示你删除后无法用双击打开。但删除后打开方式仍然在列表里。但是由于此功能太弱,所以可能有些问题这个方法解决不了的,但是却是比较方便更改,而且不容易出错,适合新手使用。方法二:编辑注册表运行输入“regedit”并ENTER打开注册表编辑器,进入HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.extension\OpenWithList里面,“.extension”指你所要修改的文件扩展名,删除值和你所要去掉的程序名称相同的键就可以了。以上面的为例子,修改jpg格式的打开方式:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.jpg\OpenWithList ,旁边的项目的数据里的名字就是软件的名字,把不想要的右击删除即可。方法三:永久删除程序列表这种方法完全从打开方式列表中删除程序,所以右键选择打开方式-》选择程序时也找不到程序了,需要浏览选择程序才行。一般用来删除“打开方式-选择程序-其他程序”中的无用的程序的,方法是进入注册表HKEY_CLASSES_ROOT\\Applications里删除即可。上面都是正确的删除方法,不过还在网上看到一种错误的删除方法:打开注册表编辑器,在注册表HKEY_CLASSES_ROOT\SystemFileAssociations分支下中找到相应扩展名分支,然后在“OpenWithList”项中删除不需要的键值或项。 经过测试此方法无效,这个并不是打开方式里的,可能是关于该格式的描述!

JList 右键单击​​显示菜单(使用、删除、取消)

【中文标题】JList 右键单击​​显示菜单(使用、删除、取消)【英文标题】:JList Right-click shows menu (Use, drop, cancel) 【发布时间】:2011-06-18 18:12:31 【问题描述】:

我一直在网上搜索这个答案。我有一个简单的 JList,里面有项目。当我右键单击时,我希望弹出一个菜单,上面写着“使用、删除、取消”或类似的东西。但是,我被难住了。

下面的代码将生成一个简单的 JList,其中包含一些项目。我尝试在代码中添加右键单击,但它不起作用。帮忙?

这是我目前所拥有的:

import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseAdapter;
import javax.swing.*;



public class inv extends JApplet implements MouseListener 

    JList listbox;



     public void init()
     


    String  listData[] =  "Item 1","Item 2","Item 3","Item 4" ;
listbox = new JList( listData );

     listbox.addMouseListener( new MouseAdapter()
     
        public void mousePressed(MouseEvent e)
        
            if ( SwingUtilities.isRightMouseButton(e) )
            
                listbox.setSelectedIndex(getRow(e.getPoint()));
            
        
     );

    listbox.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);


        add(listbox);
                    listbox.setVisible(true);

            listbox.setFocusable(false);

     



     private int getRow(Point point)
     
        return listbox.locationToIndex(point);


      public void mousePressed(MouseEvent e) 
      

      public void mouseReleased(MouseEvent e) 
      

      public void mouseEntered(MouseEvent e) 
      

      public void mouseExited(MouseEvent e) 
      

      public void mouseClicked(MouseEvent e) 
      


     public void stop()
     
     

     public void paint(Graphics g)
     
     


【问题讨论】:

【参考方案1】:

我不明白你的意思。这里的代码似乎与您指定的一样工作,但除了删除任何数量的冗余或错误语句之外,它几乎就是您发布的内容。

/*
<applet code='inv' width='200' height='200'>
</applet>
*/
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseAdapter;
import javax.swing.*;

public class inv extends JApplet  //implements MouseListener 

    JList listbox;

     public void init()
     


    String  listData[] =  "Item 1","Item 2","Item 3","Item 4" ;
listbox = new JList( listData );

     listbox.addMouseListener( new MouseAdapter()
     
        public void mousePressed(MouseEvent e)
        
            System.out.println(e);
            if ( SwingUtilities.isRightMouseButton(e) )
            
                System.out.println("Row: " + getRow(e.getPoint()));
                listbox.setSelectedIndex(getRow(e.getPoint()));
            
        
     );

    listbox.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        add(listbox);
                    // unnecessary
                    //listbox.setVisible(true);

            listbox.setFocusable(false);
     



     private int getRow(Point point)
     
        return listbox.locationToIndex(point);


/** Why implement MouseListener, while adding a MouseAdapter?
Do you have ANY idea what your doing?

      public void mousePressed(MouseEvent e) 
      

      public void mouseReleased(MouseEvent e) 
      

      public void mouseEntered(MouseEvent e) 
      

      public void mouseExited(MouseEvent e) 
      

      public void mouseClicked(MouseEvent e) 
      
*/

    /** What is this nonsense supposed to achieve?
    Don't override empty methods with empty implementations!
     public void stop()
     
     
     */

    /** What is this nonsense supposed to achieve?
     public void paint(Graphics g)
     
     
     */

输出

java.awt.event.MouseEvent[MOUSE_PRESSED,(31,22),absolute(39,72),button=3,modifiers=Meta+Button3,extModifiers=Button3,clickCount=1] on javax.swing.JList[,0,0,200x200,alignmentX=0.0,alignmentY=0.0,border=,flags=50331944,maximumSize=,minimumSize=,preferredSize=,fixedCellHeight=-1,fixedCellWidth=-1,horizontalScrollIncrement=-1,selectionBackground=javax.swing.plaf.ColorUIResource[r=184,g=207,b=229],selectionForeground=sun.swing.PrintColorUIResource[r=51,g=51,b=51],visibleRowCount=8,layoutOrientation=0]
Row: 1
java.awt.event.MouseEvent[MOUSE_PRESSED,(29,39),absolute(37,89),button=3,modifiers=Meta+Button3,extModifiers=Button3,clickCount=1] on javax.swing.JList[,0,0,200x200,alignmentX=0.0,alignmentY=0.0,border=,flags=50331944,maximumSize=,minimumSize=,preferredSize=,fixedCellHeight=-1,fixedCellWidth=-1,horizontalScrollIncrement=-1,selectionBackground=javax.swing.plaf.ColorUIResource[r=184,g=207,b=229],selectionForeground=sun.swing.PrintColorUIResource[r=51,g=51,b=51],visibleRowCount=8,layoutOrientation=0]
Row: 2
java.awt.event.MouseEvent[MOUSE_PRESSED,(36,65),absolute(468,192),button=3,modifiers=Meta+Button3,extModifiers=Button3,clickCount=1] on javax.swing.JList[,0,0,200x200,alignmentX=0.0,alignmentY=0.0,border=,flags=50331944,maximumSize=,minimumSize=,preferredSize=,fixedCellHeight=-1,fixedCellWidth=-1,horizontalScrollIncrement=-1,selectionBackground=javax.swing.plaf.ColorUIResource[r=184,g=207,b=229],selectionForeground=sun.swing.PrintColorUIResource[r=51,g=51,b=51],visibleRowCount=8,layoutOrientation=0]
Row: 3
java.awt.event.MouseEvent[MOUSE_PRESSED,(45,11),absolute(477,138),button=3,modifiers=Meta+Button3,extModifiers=Button3,clickCount=1] on javax.swing.JList[,0,0,200x200,alignmentX=0.0,alignmentY=0.0,border=,flags=50331944,maximumSize=,minimumSize=,preferredSize=,fixedCellHeight=-1,fixedCellWidth=-1,horizontalScrollIncrement=-1,selectionBackground=javax.swing.plaf.ColorUIResource[r=184,g=207,b=229],selectionForeground=sun.swing.PrintColorUIResource[r=51,g=51,b=51],visibleRowCount=8,layoutOrientation=0]
Row: 0

Tool completed successfully

【讨论】:

对不起我的所有废话。这就是我被教导的方式。 (高中班)【参考方案2】:

一个典型的错误可能是打电话给JPopupMenu.setVisible(true) 并期望会发生一些事情。该组件需要不同的方法来启动它。重写你的鼠标监听器:

    listbox.addMouseListener(new MouseAdapter() 
        public void mousePressed(MouseEvent e) 
            if (e.isPopupTrigger()) 
                JPopupMenu menu = new JPopupMenu();
                JMenuItem item = new JMenuItem("Say hello");
                item.addActionListener(new ActionListener() 
                    public void actionPerformed(ActionEvent e) 
                        JOptionPane.showMessageDialog(inv.this, "Hello "
                                + listbox.getSelectedValue());
                    
                );
                menu.add(item);
                menu.show(inv.this, 5, listbox.getCellBounds(
                        listbox.getSelectedIndex() + 1,
                        listbox.getSelectedIndex() + 1).y);
            
        
    );

为了简短起见,我只添加了一项,但肯定可以添加更多。我使用的 show 方法还需要指定菜单应该出现在组件上的哪个位置。如本例所示,可以从列表本身获取位置。

【讨论】:

not to se answer by @kleopatra,逻辑相同,JOptionPane 应该在 invokeLater 中延迟(不重要) 否,因为仅在从非 Swing 线程调用 Swing 对象的方法时才需要 invokeLater 包装方法。在我们的例子中 addActionListener 已经在 Swing 线程中被调用了。 当试图在列表中的最后一项上弹出菜单时,此代码会引发异常。 listbox.getSelectedIndex() + 1 在这种情况下是指一个不存在的列表元素。【参考方案3】:

根据前面的答案,下面的代码将立即选择项目(右键单击),并在鼠标单击旁边显示弹出窗口。

listbox.addMouseListener( new MouseAdapter() 
    public void mousePressed(MouseEvent e) 
        if ( SwingUtilities.isRightMouseButton(e) )       
           listbox.setSelectedIndex(listbox.locationToIndex(e.getPoint()));

            JPopupMenu menu = new JPopupMenu();
            JMenuItem itemRemove = new JMenuItem("Remove");
            itemRemove.addActionListener(new ActionListener() 
                public void actionPerformed(ActionEvent e) 

                    // This could probably be improved, but assuming you
                    // also keep the values in an ArrayList, you can 
                    // remove the element with this:
                    //array_list.remove(listbox.getSelectedValue());
                    //listbox.setListData((String[]) array_list.toArray(new String[array_list.size()]));

                    System.out.println("Remove the element in position " + listbox.getSelectedValue());

                
            );
            menu.add(itemRemove);
            menu.show(listbox, e.getPoint().x, e.getPoint().y);            
        
    
);

有一个注释部分显示了删除该项目的可能方法;它假定存在一个ArrayList(称为array_list),其中包含JList 上元素的副本。它使用方法to_array 来刷新JList。应该有更有效的方法,但如果你的列表很短,应该就足够了。

【讨论】:

以上是关于如何取消右键菜单?的主要内容,如果未能解决你的问题,请参考以下文章

JList 右键单击​​显示菜单(使用、删除、取消)

鼠标点右键弹出的菜单怎么设置啊?

做一个 Vue 右键菜单组件

关于自定义右键菜单

win10加入域之后无法点开开始菜单,右键可以显示

怎么管理右键新建菜单