精华内容
下载资源
问答
  • Windows 窗体添加菜单菜单

    千次阅读 2016-01-21 06:34:15
    Windows 窗体上的菜单是使用 MainMenu 对象创建的,该对象是一个 MenuItem 对象集合。可以在设计时向 Windows 窗体添加菜单,方法是添加MainMenu 组件然后使用菜单设计器向其追加菜单项。还可以用编程方法添加...

    Windows 窗体上的菜单是使用 MainMenu 对象创建的,该对象是一个 MenuItem 对象集合。可以在设计时向 Windows 窗体添加菜单,方法是添加MainMenu 组件然后使用菜单设计器向其追加菜单项。还可以用编程方法添加菜单,方法是向 Windows 窗体添加一个或多个 MainMenu 对象并向该集合中添加 MenuItem 对象。本主题中的过程说明如何使用菜单设计器或代码创建一个名为 File 的简单菜单。

    在设计时向 Windows 窗体添加菜单

    1. 在 Windows 窗体设计器中打开要将菜单添加到的窗体。
    2. 在“工具箱”中双击 MainMenu 组件。

      一个菜单被添加到窗体中(该窗体显示文本“请在此处输入”),同时 MainMenu 组件添加到了组件栏中。

    以编程方式向 Windows 窗体添加菜单

    1. 在代码编辑器中,创建一个新公共方法,其中包含将菜单添加到窗体的代码。有关打开代码编辑器的更多信息,请参见在设计器中显示 Windows 窗体
      ' Visual Basic
      Public Sub AddMenu()
      
      End Sub
      
      // C#
      public void AddMenu(){
      
      }
      
      // C++
      public:
         void AddMenu()
         {
      
         }
      
    2. 在该方法内添加类似于以下内容的代码,以创建 MainMenu 组件的实例:
      ' Visual Basic
         Dim mnuFileMenu as New MainMenu()
         Me.Menu = mnuFileMenu
      
      // C#
         MainMenu mnuFileMenu = new MainMenu();
         this.Menu = mnuFileMenu;
      
      // C++
         MainMenu *mnuFileMenu = new MainMenu();
         this->Menu = mnuFileMenu;
      

    将 MainMenu 组件添加到 Windows 窗体后,需要向其添加菜单项。菜单设计器可让您在设计时向菜单组件添加菜单项。菜单内容保存在一个集合内,所以可在运行时通过向此集合添加 MenuItem 对象来向菜单添加菜单项。

    在设计时向菜单添加菜单项

    1. 单击 Windows 窗体上的 MainMenu 组件。

      显示文本“请在此处输入”。

    2. 单击显示的文本,然后键入所需菜单项的名称以添加它。
    3. 若要添加另一个菜单项,请单击“菜单设计器”内的另一个“请在此处输入”区域。
      • 单击当前菜单项右侧的区域以添加子菜单。

        - 或 -

      • 单击当前菜单项下方的区域,以便将另一个项添加到同一菜单中。

    以编程方式向菜单添加菜单项

    1. 如果还没有 MainMenu 组件,则向公共方法内的 Windows 窗体添加一个 MainMenu 组件,并将一个 MainMenu 类的实例分配给该窗体的Menu 属性。有关集合的更多信息,请参见对象之间的关系
      ' Visual Basic
      Public Sub AddMenuAndItems()
         Dim mnuFileMenu as New MainMenu()
         Me.Menu = mnuFileMenu
      End Sub
      
      // C#
      public void AddMenuAndItems(){
         MainMenu mnuFileMenu = new MainMenu();
         this.Menu = mnuFileMenu;
      }
      
      // C++
      public:
         void AddMenu()
         {
            MainMenu *mnuFileMenu = new MainMenu();
            this->Menu = mnuFileMenu;
         }
      
    2. 在该方法内,创建要添加到 MainMenu 对象的集合中的 MenuItem 对象:
      ' Visual Basic
         Dim myMenuItemFile as New MenuItem("&File")
         Dim myMenuItemNew as New MenuItem("&New")
      
      // C#
         MenuItem myMenuItemFile = new MenuItem("&File");
         MenuItem myMenuItemNew = new MenuItem("&New");
      
      // C++
         MenuItem *myMenuItemFile = new MenuItem(S"&File");
         MenuItem *myMenuItemNew = new MenuItem(S"&New");
      
      注意   默认情况下,MainMenu 对象不包含菜单项,所以添加的第一个菜单项成为菜单标题。这就是 myMenuItemFile 的 Text属性设置为 &File 的原因。
    3. 在该方法内,分配顶级菜单项并向其添加后面的菜单项:
      ' Visual Basic
         mnuFileMenu.MenuItems.Add(myMenuItemFile)
         myMenuItemFile.MenuItems.Add(myMenuItemNew)
      
      // C#
         mnuFileMenu.MenuItems.Add(myMenuItemFile);
         myMenuItemFile.MenuItems.Add(myMenuItemNew);
      
      // C++
         mnuFileMenu->MenuItems->Add(myMenuItemFile);
         myMenuItemFile->MenuItems->Add(myMenuItemNew);
      
      注意   若要创建子菜单,可将 MenuItem 对象添加到父 MenuItem 的 MenuItems 属性中。对于上面的示例,如果希望将第三个菜单项 (myMenuItemFolder) 作为第二个菜单项 (myMenuItemNew) 的子菜单添加,则应包括下列代码行:
      ' Visual Basic
      Dim myMenuItemFolder as New MenuItem("&Folder")
      myMenuItemNew.MenuItems.Add(myMenuItemFolder)
      
      // C#
      MenuItem myMenuItemFolder = new MenuItem("&Folder");
      myMenuItemNew.MenuItems.Add(myMenuItemFolder);
      
      // C++
      MenuItem *myMenuItemFolder = new MenuItem(S"&Folder");
      myMenuItemNew->MenuItems->Add(myMenuItemFolder);
      

      菜单项也可在创建时动态添加,属性也是这样,可在创建和添加菜单项时设置。例如,若要向上面的集合中添加第四个菜单项,请输入下列代码:

      ' Visual Basic
      mnuFileMenu.MenuItems.Add("Save &As")
      
      // C#
      mnuFileMenu.MenuItems.Add("Save &As");
      
      // C++
      mnuFileMenu->MenuItems->Add("Save &As");
      

    有关向 MenuItems 集合中添加菜单项时动态创建菜单项的更多信息,请参见 Menu.MenuItemCollection 类

    向菜单项添加功能

    最后,建立菜单结构后,需要为菜单项提供功能。通常需要通过 MenuItem.Click 事件的事件处理程序做到这一点。有关事件处理程序的更多信息,请参见 Windows 窗体中事件处理程序的介绍

    展开全文
  • windows右键菜单大揭密

    千次阅读 2015-09-26 15:37:53
    Windows系统中,只要对着桌面或是文件(夹)单击右键,就会弹出一个快捷菜单,里面有对该文件(夹)的一些常用操作命令,通过右键菜单,可以方便用户对文件的某些操作。不知道你是否对它感兴趣?是否想对它作一番...

    在Windows系统中,只要对着桌面或是文件(夹)单击右键,就会弹出一个快捷菜单,里面有对该文件(夹)的一些常用操作命令,通过右键菜单,可以方便用户对文件的某些操作。不知道你是否对它感兴趣?是否想对它作一番改头换面,做出有自己特色的右键菜单?不用着急,看完本文的大揭密,你将成为这方面的高手!

      修改右键菜单应该在注册表中,具体的说,是在HKEY_CLASSES_ROOT根键下(这里可是右键菜单中所有命令的根源哦!)。展开该根键,其下的子键主要有两种:扩展名键(.+扩展名)和类定义键。一般地说,只要是在windows系统中已注册过的扩展名,在HKEY_CLASSES_ROOT下均有“·该扩展名”子键 ,记录该扩展名的一些信息,对某种特定类型的文件的右键菜单的修改,便是在该键或“扩展名file”键下的操作。

      

      1、在所有的文件右键菜单中加入命令

      如果你的系统上安装有Winzip、UltraEdit等,当你对任一文件点右键时,都会有“Add to zip”、“UltraEdit-32”等命令(当然,Winzip稍有不同,我将在后面讲到)。它的添加方法是:

      (1).打开“HKEY_CLASSES_ROOT\*”;

      (2).在其下新建“shell\命令\command”分支,再将command的键值设为执行该命令时所用的可执行程序的绝对路径,并在其后加“%1”即可。

      例:在“HKEY_CLASSES_R

      OOT\*”下新建“shell\用写字板打开\command”子键,将command的键值设为“c:\windows\notepad.exe %1”,就会在右键菜单中出现“用写字板打开”的命令了。

      说明:

      1. 要删除该类命令,只需将“命令”子键删除即可;

      2. 有的人或许会问他按我写的去做,但是得到的为何与我的有一些不同,这就是我的命令里有快捷键(N),只要在“用写字板打开”后加入“(&N)”即可。

      

      2、在特定文件类型的右键菜单中加入命令

      刚才说到了Winzip这个软件,对普通的文件类型,它的右键菜单中有“Add to zip”,但是对它所支持的压缩文件类型,如*.zip、*.cab、*.rar在其右键菜单中有“Open with Winzip”、“Extract to”、“Extract to folder”、“Create Self-Extractor(.EXE)” 等命令,对于自解压性安装文件(如OICQ99b),其右键菜单中有“Run with Winzip”命令。下面是特定文件类型的右键菜单的命令添加方法(以在mp3文件的右键菜单中加入Play with winamp为例):

      (1).打开“HKEY_CLASSES_ROOT\mp3_auto_file”主键;

      (2).在其下新建“shell\Play with Winamp(&P)\command”,将command的键值设为“C:\Program files\winamp\winamp.exe %1” 。

      说明:当有多个软件可以播放mp3文件时,我们可以在右键菜单中添加多条命令,如加入“Play with Unreal”等命令,但是我们如何将某一条命令定义为默认操作(即右键菜单中的黑体命令)呢?

      你一定会说,很简单的事情吗!将mouse移向一mp3文件,在按右键的同时按shift,在右键菜单中选“打开方式“便可更改,但是这是错误的,不信你试试看,这样只有在右键菜单中选“打开”时才会用你所选择的程序来打开它,否则,它仍旧一如继往。因为它的默认操作不是“打开“这条命令。真正的方法是将shell的默认键值改为你所想执行的命令,例如将shell的键值改为“Winamp”。

      还有,不知道你发现了没有,我在前面的例子中用的是“Play with Winamp”命令,而在这里用的是“Winamp”,是不是有点不对应呢?说到这里,真是让我心酸,本来我在txt文档中用shell进行默认操作的转换时(转换open与print)挺成功的,但是一转换“Play with Winamp”与“Play with Unreal”便失败,总是转换不过来,最后才明白这可能是“瘟酒吧”的一个bug,它要求转换时主键的键名为单个字符串时才有效。对汉字与英文的组合也有效,不过中间可不能有空格(不知道这是否与我的Win98是D版有关?)。

      如果你认为上面的方法不太方便且过于复杂,其实在Windows中还提供了不用操作注册表的更为方便安全的方法:打开一个文件夹,选“查看/文件夹选项/文件类型”, 在这里你将会找到所有已经注册的文件类型,选择“mp3文件/编辑”,看到操作下面的“新建”、“编辑”、“删除”、“设为默认值”这四个按钮没有?不用我再教你了吧!嘿嘿。

      

      3、在所有的文件夹右键菜单中加入命令

      如果你用过Acdsee这个软件,就会发现在文件夹的右键菜单中总有“Browse with acdsee”这一命令,同类的还有Pc-cillin中的Trend Pc-cillin 98命令,下面再该类命令的添加方法:

      (1).打开“HKEY_CLASSES_ROOT\diretory\shell”主键;

      (2).在其下新建“命令\command”……下面不用再说了吧!

      说明:1.如果你细心一下的话,你将会发现其实在驱动器的右键菜单中,也有“Browse with acdsee” “Trend Pc-cillin98”等命令,驱动器也是特殊的文件夹,但是通过上面的方法是无法在驱动器的右键菜单中加入命令的。如果要在其中加入命令,须对“HKEY_CLASSES_ROOT\drive\shell”主键进行操作;

      (3).在“HKEY_CLASSES_ROOT”主键下还有一个folder子键,顾名思义,对它的操作将影响所有的文件夹,包括回收站,切记切记!(图4是在回收站中添加了“Browse with acdsee”命令)

      

      4、在所有的文件与文件夹的右键菜单中加入命令

      如果你自己开发了一个程序,它的操作对象是文件和文件夹,因此你想在所有的文件和文件夹的右键菜单中加入特定的命令进行操作,这就得看下面的了。

      打开“HKEY_CLASSES_ROOT\AllFilesystemObjects”主键,在其下新建“shell\命令\command”,以下操作同前。

      需要指出的是这只是一种解决方法,如果大家看我所抓下的图,会发现总有一个“IconView”命令,出现在所有的文件和文件夹的右键菜单中,但是这可不是用这种方法形成的,不妨作一下对比,这条命令是通过该软件中的应用程序扩展库iv_shext.dll扩展而来,因此它出现在右键菜单的中部。而不是在顶部 。(什么?让我讲一下这种方法?)由于这种方法涉及到编程方面的内容,限于篇幅和主题,我就不讲这种方法了(嘘!小声点,其实我也是不会。)

      

      5、一些特殊命令的添加与删除

      (1).资源管理器

      在Windows系统中,普通文件夹、驱动器、回收站等的右键菜单中都有“资源管理器“命令,如果你只想在驱动器中保留该命令,可以先在“HKEY_CLASSES_ROOT\folder\shell”主键中删除explore子键,然后在“HKEY_CLASSES_ROOT\drive\shell”主键中新建“explore\command”子键,令commmand的键值为“C:\WINDOWS\Explorer.exe/e,/idlist,%I,%L”怎么样,成功了吧!

      (2).清空回收站

      在Windows系统中,只有在回收站的右键菜单中才有“清空回收站”的命令,是不是太不方便了呢,好,我们可以经过一番改造,让所有的文件菜单中都有“清空回收站”的命令,follow me!

      我们的思路是先找出“清空回收站”这个命令的来源,然后将其照搬到“HKEY_CLASSES_ROOT\*”下即可。好,还是先来找吧,我找呀找,终于找到了!

      ——再教你一招,就是一些特殊的命令(特别是第三方提供的软件),都是由应用程序扩展库(.DLL)扩展而来,在注册表的“shellex\ContextMenuHandlers”中便能找到它的痕迹。 我们打开“HKEY_CLASSES_ROOT\CLSID\{645FF040-5081-101B-9F08-00AA002F954E} \shellex\ContextMenuHandlers”,可以发现其下有一名为“{645FF040-5081-101B-9F08-00AA002F954E}”的子键,这就是“清空回收站”命令的根源了。

      找到了根源,就容易多了,在“HKEY_CLASSES\ROOT\*\shellex\ContextMenuHandlers”下新建一键名为“{645FF040-5081-101B-9F08-00AA002F954E}”的子键,怎么样,够酷吧!

      (3).新建命令的子命令的添加与删除

      不知道有没有遇到这种情况:你经常自己手工编写网页,在单位的机器上的新建命令中有“新建html文档”的命令,但是你的机器上却没有,还有,随着各种软件的不断增加,你的新建命令弹出子命令的时间越来越长,够呛的吧! 不要紧,不用急,让我来帮你把该出来的叫出来,不该来的让它回去!

      打开“HKEY_CLASSES\ROOT\.htm”,添加一主键shellnew,然后新建字符串值NullFile ,键值为空,你现在再对桌面点右键,看看新建,是不是多了一点什么? 至于删除,想各位不致让我多说了吧!

      (4).剪切、复制、粘贴等命令的添加

      注意,我只是谈剪切、复制、粘贴等命令的添加,也就是说对右键菜单中没有这些命令的某些对象,可以添加,而对那些本来有就这些命令的对象,就连删除它们,我都无能为力。

      好,我现在以回收站为例,来进行剪切、复制、粘贴等命令的添加,具体地说,有“打开、剪切、复制、粘贴、重命名、删除、属性”等命令的添加。 先打开“HKEY_CLASSES_ROOT\CLSID\{645FF040-5081-101B-9F08-00AA002F954E}”主键,你会发现有“shellfolder”子键,在该子键下新建二进制值attributes,它的键值就决定了这些命令在右键菜单中的显示与隐藏。具体如下:

      命令 键值

      打开 00 00 00 20

      剪切 02 00 00 00

      复制 01 00 00 00

      粘贴 00 01 00 00

      删除 20 00 00 00

      重命名 10 00 00 00

      属性 40 00 00 00

      如果你要显示某些命令,只需将该命令所对应的键值相加,结果作为attributes的键值即可。例如:当attributes值为00 00 00 00(默认)时,将不显示以上命令,当为73 01 00 20时,将显示所有的命令。现在好了,可以将“回收站“改为你所想改的名称了,还可以将“废物”粘贴到回收站了(不过我看这倒没有多大的作用,是吗?)

      (5).“发送到”及其菜单

      有的文件夹(如我的文档)的右键菜单中没有“发送到”这条命令,我们可以给它添加上去,方法可以参考“清空回收站”命令的添加方法。就是打开“ HKEY_CLASSES_ROOT\CLSID\{450D8FBA-AD25-11D0-98A8-0800361B1103}\shellex\ContextMenuHandlers”,在其下新建“{7BA4C740-9E81-11CF-99D3-00AA004AE837}”子键,就可以了。

      至于“发送到“的菜单,是不需要在注册表中对其进行操作的,它的根源是“C:\windows\SendTo”这个文件夹,你只需在这个文件夹内新建一个快捷方式,让它指向你所想要发送到的文件夹,就OK了(其中backup,software为新建的指向文件夹的快捷方式)。

      (6).查找

      在Windows系统中,普通文件夹及驱动器的右键菜单中有“查找……”这条命令,如果我们要在回收站中寻找误删除的文件,而此时回收站中的文件又多的话,我们就可以在回收站的右键菜单中加入“查找……”这条命令。具体方法可以参考2,5。只是需要新建的子键为“{61E218E0-65D3-101B-9F08-061CEAC3D50D}”。只不过命令变成了“文件或文件夹……”

      讲了这么多,你现在应该懂如何修改右键菜单了吧?

      

      二、轻松修改鼠标右键菜单

      

      修改文件的鼠标右键弹出菜单(以下简称弹出菜单)

      运行注册表编辑器(regedit.exe),打开“我的电脑\HKEY_CLASSES_ROOT\*\shellex\ ContextMenuHandler”分支。该分支下有两个主键HexWorkshopContextMenu和Winzip(笔者的电脑中装有Winzip和HexWorkshop),删去后即可发现原来文件的弹出菜单上的Hex edit 和Add to Zip两项不见了。当要在弹出菜单中添加一些可执行文件时(以notepad为例),可进行如下操作:

      1.在“我的电脑\HKEY_CLASSES_ROOT\*”下新建一个名为shell的主键。

      2.在“shell”下新建名为aaa(aaa即是显示于弹出菜单中的文字,这里假设用“用笔记本打开”代替)的主键。

      3.在aaa下新建名为command的主键,修改其右默认的键值为“c:\windows\notepad.exe %1”(%1表示该文件不带参数,而只运行笔记本程序)即可。

      4.需再添加新的菜单项重复步骤2、3即可。

      这样,在弹出菜单上就出现了“用笔记本打开”这一选项,在打开未与笔记本建立关联的文件时避免了从许多打开方式中去重复选择笔记本的麻烦,而且可以用多种方式打开同一文件而不改变该文件原来的关联(如同时用photoshop和ACDSee打开一图片),增加了文件打开方式的灵活程度。

      

      

      修改驱动器和文件夹的弹出菜单

      1.驱动器弹出菜单的修改

      (1)修改方法同上面文件的弹出菜单的修改基本一样,运行注册表编辑器,打开“我的电脑\HKEY_CLASSES_ROOT\DRIVE”,其下有三个主键DefaultIcon、shell和shellex。

      (2)打开shell可以看见find和Browse with ACDSee(机器上需装有ACDSee),这也是显示在弹出菜单上的文字,如将Browse with ACDSee改为别的名字,如“用ACDSee浏览”时,则英文变成汉语“用ACDSee浏览”。添加菜单项同样需要在shell下添加新主键,删除菜单项则只要删除对应的主键,如删HexWorkshop,则删去shellex下的ContextMenuHandlers主键下的HexWorkshopContextMenu主键即可。

      2.文件夹弹出菜单的修改

      文件夹弹出菜单的修改比较复杂,涉及两个主键Directory和Folder(同样位于“我的电脑\HKEY_ CLASSES_ROOT\”下)的修改。其中修改Folder主键后对驱动器弹出菜单也有影响(修改Drive主键不会影响其他),如在Folder\Shell主键下添加新主键(设名为aaaa),则同时会在驱动器和文件夹弹出菜单中出现aaaa这一项,删除也同样会对两者产生影响,如删除Folder\Shell下的explore和open主键,两者弹出菜单的资源管理器和打开两项就会消失。要删除驱动器弹出菜单的winzip项,则删去Folder\Shellex\Context MenuHandlers下的winzip主键即可。而删除文件夹弹出菜单的winzip项,还要删去Directory\Shellex\ContextMenuHandlers下的winzip主键。只对文件夹弹出菜单进行增删,需对Directory操作就行了(操作主键Directory不会影响驱动器的弹出菜单)。如删去查找菜单项,只需去掉Directory\Shell下的find主键,添加则在Shell下添新主键。

      3.从“文件夹选项”中修改

      这种方法比较简单,类似对文件建立关联,方法如下:

      (1)双击“我的电脑”,打开“查看/文件夹选项”(对于Windows98,还可以单击“开始/设置/文件夹选项”)。

      (2)单击“文件类型”标签,从中选中“驱动器”,然后按“编辑”按钮。

      (3)在随后的编辑文件类型对话框中,按“新建”按钮,在弹出的新操作对话框中输入一个名字(即弹出菜单上的文字),在用于操作的应用程序文本框中输入应用程序名(也可用浏览来寻找),完成后按“确定”即可。

      修改文件夹的步骤相同,只要选中文件夹就可以了。

      通过这些方法,你可以将自己制作的软件加入弹出菜单,能和正版软件同占一席之地是不是很有成就感。

      

      三、巧妙用好右键菜单

      

      移动和复制文件是Windows最常用的文件操作,一般都是先选中文件,然后通过鼠标右键,选择“复制”或“剪切”命令,然后打开目标文件夹,再进行“粘贴”;再者,打开并平铺两个资源管理器窗口,然后进行拖放操作,也能达到操作目的。(其实Windows的“发送到”命令,是一个非常灵活的复制命令,我们可以手动添加“发送到”对象,就可以方便的复制文件了。但是这些方法都不够灵活,或许微软意识到了这一点,在Windows Me/XP中增加了“复制到文件夹”和“移动到文件夹”命令。它就在资源管理器的“编辑”菜单中,不信你自己打开瞧瞧!可惜在实际应用中仍稍嫌不便。这不,笔者介绍的以下的操作方法让你把“复制到文件夹”和“移动到文件夹”命令加到右键菜单中,从而可大大方便操作。

      1、运行“注册表编辑器”(RegEdit)。

      2、在“注册表编辑器”窗口的左窗格中,依次展开“HKEY_CLASSES_ROOT\AllFilesystem Objects\shellex\ContextMenuHandlers”分支。

      3、右键单击“ContextMenuHandlers”,选择“新建→主键”,将新主键命名为“Copy To”。

      4、选中“Copy To”主键,在右窗格中,双击“默认”,此时弹出对话框的“数值数据”框中键入“{C2FBB630-2971-11D1-A18C-00C04FD75D13}”。单击“确定”按钮。

      5、单击“文件”菜单中的“退出”命令,关闭“注册表编辑器”窗口。

      

      增加“移动到文件夹”命令,方法步骤同上,只是在“ContextMenuHandlers”下,新建一个“Move To”主键,将其值设置为“{C2FBB631- 2971-11D1-A18C-00C04FD75D13}”即可。

      

      现在,右键单击某一文件(夹),在系统弹出的快捷菜单中,出现“复制到文件夹”和“移动到文件夹”两个选项,点击进去试试,此时将弹出一个浏览文件夹的窗口,选择目标文件夹后,点击确定即可实现复制或移动文件的目的。

      

      将注册表展开到HKEY_CURRENT_ USER\Software\Microsoft\Internet Explorer\MenuExt,在IE中显示的附加右键菜单都在这里设置,常见的“网络蚂蚁”和“网际快车”点击右键下载的信息也存放在这里,只需找到显示广告的主键条目删除即可。

      

      

      “新建”菜单

      

      对于任何已经在Windows 注册的文件类型,我们可以在相应的扩展键名中加入“ShellNew”新项,然后为其指定Windows 如何创建新文件的设置,最常用的是加入“NullFile”和“Command”值,这样就可以将这种文件类型添加到“新建”级联菜单中。

      在注册表编辑器展开HKEY_CLASSES\ROOT\.htm,创建一新项“ShellNew”,然后新建字符串值“NullFile”,键值为空,按F5键刷新后退出。这时在桌面上单击鼠标右键,打开“新建”级联菜单,就会看到多出了一项“HTML Document”。当需要将“新建”菜单中无用的文件类型删除时,只要在注册表中找到相应的文件扩展名,然后将其下的“ShellNew”子项删除即可。

      

      特殊的右键菜单命令

      

      ● 添加“清空回收站”选项

      在注册表HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers分支下创建一新项“{645FF040-5081-101B-9F08-00AA002F954E}”,确定后退出,当右击任意文件时,快捷菜单中都会有一个“清空回收站”的选项。

      ● 添加“在新窗口中打开”选项

      在注册表HKEY_CLASSES_ROOT\Directory\shell分支下,创建一个新项“NewWindow”,将右侧窗格中“默认”键值改为“在新窗口中打开”,并在“NewWindow”下再建一新项“Command”,修改右侧窗格中“默认”键值为“explorer.exe %1”。

      ● 添加“快速重启”选项

      在注册表HKEY_CLASSES_ROOT\Directory\shell分支下,创建一个新项“Reboot”,将右侧窗格中“默认”键值改为“快速重启”,并在“Reboot”下再建一个新项“Command”,修改右侧窗格中“默认”键值为“ShutDown -r -t 00”即可。

      ● 添加“复制到”选项

      在注册表HKEY_CLASSES_ROOT\AllFile-systemObjects\shellex\ContextMenuHandlers分支下,创建一新项“Copy To”,修改右侧窗格中“默认”键值为“{C2FBB630-2971-11D1-A18C-00C04FD75D13}”即可。

      ● 添加“移动到”选项

      在注册表HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenu-Handlers分支下,创建一新项“Move To”,修改右侧窗格中“默认”键值为“{C2FBB631-2971-11D1-A18C-00C04FD75D13}”即可。

      

      

      优化系统右键菜单

      

      在系统使用一段时间后,尤其是经常安装新的软件,会使原本苗条的右键菜单变得臃肿,导致反应迟钝。那么平时该如何注意这方面的问题呢?下面提四点建议仅供参考。

      首先,尽量不安装同类软件。在选择软件时,可以根据自己的喜好选择同类别某一软件,这样可避免右键菜单中多出类似的菜单项。例如计算机中已经安装了ACDSee,就不需要再安装SlowView、Irfan View之类的看图软件,因为一旦安装后,就会出现与“Browse with ACDSee”类似的“Browse with SlowView”、“Browse with Irfan View”等右键菜单命令。

      其次,正常安装卸载软件。如果我们多次重复安装软件,而不是先将原有的软件卸载后再重新安装,这样有可能导致右键菜单出现重复或错误的项目。因此在安装软件前最好先看看是否曾经安装,如果安装过,应卸载后再进行安装。

      第三,使用折叠式菜单。现在有很多软件制作时考虑到这一点,允许用户设置在右键中显示全部菜单还是折叠式菜单,比较典型的有WinZip、WinRAR等。以WinRAR为例,设置方法如下:打开“选项”|“设置”,单击“综合选项”标签页,在“外壳集成”一栏中勾选“折叠关联菜单”即可。

      第四,借助工具清理右键菜单。除了前面的几种方法外,还可以利用专门的优化工具软件,如超级兔子魔法设置,来删除多余的右键菜单项。

      

      

      指定文件类型的右键选单

      

      为特定的文件类型右键菜单添加选项可以通过修改注册表来实现,只不过有一种更为简单并且安全的方法,也就是在文件夹选项中进行修改。

      例如要在MP3文件右键菜单中增加一项“用MPlayer2(Windows Medis player 6.4)播放”,具体操作如下:依次单击资源管理器“工具”|“文件夹选项”|“文件类型”,在已注册文件类型列表框中选中“MP3”,点击下方的“高级”按钮,在弹出的对话框中单击“新建”按钮,然后在“操作”文本框中输入“用MPlayer2播放”,在“用于执行操作的应用程序”框中输入“"C:\Program Files\Windows Media Player\mplayer2.exe" /Play "%L"”,确定后退出文件夹选项即可。

      

      

      文件类对象的右键选单

      

      为文件类对象添加右键菜单项,需要通过修改注册表来实现。举一个简单的例子,为文件类对象增加一个“设为隐藏属性”的菜单项,具体操作方法如下:

      运行Regedit, 在注册表HKEY_CLASSES_ROOT\*分支下新建一项“Shell”,并在该项下级再创建一个新项“AttHide”,修改右侧窗格中“默认”键值为“设为隐藏属性”,然后在“AttHide”下级再创建一新项,命名为“Command”。

      在注册表HKEY_CLASSES_ROOT\*\shell\AttHide\Command右侧窗格中双击“默认”键值,弹出“编辑字符串”对话框,在“数值数据”框中输入“attrib.exe +h "%1"”(注意引号不要输入),确定后退出注册表编辑器。现在用鼠标右键单击任意一个文件,可以看到在弹出的快捷菜单中增加了一项“设为隐藏属性”,选中它就可以为该文件指定隐藏属性。

      

      

      

      文件夹类对象的右键选单

      

      为文件夹类对象添加右键菜单项,可以在注册表HKEY_CLASSES_ROOT\Directory\Shell分支下,用下面的方法进行同样的设置。

      例如要在文件夹的右键菜单中添加“命令提示符”选项。在注册表HKEY_CLASSES_ROOT\Directory\shell分支下新建一项“CommandPrompt”,修改右侧窗格中的“默认”键值为“命令提示符”,并在该项下级再建一个新项“Command”,将右侧窗格中“默认”键值设为“cmd.exe /k cd "%1"”。现在我们就可以不需要输入长长的CD命令就切换到指定的目录了。

      

      

      驱动器类对象的右键选单

      

      要快速激活屏保,我们可以将屏保请进驱动器的右键菜单中,具体方法如下:在注册表HKEY_CLASSES_ROOT\Drive\shell分支下新建一项“LoadSCR”,修改右侧窗格的“默认”键值为“屏幕保护”,并在该项下级再创建一个新项“Command”,将右侧窗格中“默认”键值设为“C:\windows\system32\logon.scr /s "%1"”,刷新后退出注册表编辑器。这时用右键单击任意驱动器,从菜单中选择“屏幕保护”,就可以直接运行屏幕保护程序了。

      

      

      为所有文件和文件夹添加右键选单

      

      如果想要在所有的文件和文件夹的右键菜单中加入特定的菜单项,可以在注册表编辑器中展开HKEY_CLASSES_ROOT\AllFilesystemObjects,然后依次新建“Shell\命令\Command”,其他操作类似前面。

      

      

      右键级联菜单的扩展

      

      “打开方式”菜单

      Windows XP中的“打开方式”是一个很有用的菜单项。例如对于同一个视频文件,我们可以通过“打开方式”菜单快速调用不同的播放器进行播放,而无需修改文件的关联。当我们通过“打开方式”|“选择程序”调用某个程序打开文件后,该程序就会自动添加到“打开方式”项目中。

      

      

      系统使用一段时间后,会造成“打开方式”菜单中的项目增多,这时就有必要进行清理了。以清理avi格式文件的“打开方式”菜单为例:运行Regedit,打开注册表编辑器,依次展开HKEY_CURRENT_USER\Software\Microsoft

      \Windows\CurrentVersion\Explorer\FileExts\.avi,我们可以看到“OpenWithList”,选中它,在右侧窗格中就可以看到AVI格式文件的“打开方式”菜单所关联的各种应用程序。选中需要清理的项目,按下“DEL”键删除,刷新后退出注册表编辑器即可。

      

      特殊的右键菜单命令

      

      ● 添加“清空回收站”选项

      在注册表HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers分支下创建一新项“{645FF040-5081-101B-9F08-00AA002F954E}”,确定后退出,当右击任意文件时,快捷菜单中都会有一个“清空回收站”的选项。

      ● 添加“在新窗口中打开”选项

      在注册表HKEY_CLASSES_ROOT\Directory\shell分支下,创建一个新项“NewWindow”,将右侧窗格中“默认”键值改为“在新窗口中打开”,并在“NewWindow”下再建一新项“Command”,修改右侧窗格中“默认”键值为“explorer.exe %1”。

      ● 添加“快速重启”选项

      在注册表HKEY_CLASSES_ROOT\Directory\shell分支下,创建一个新项“Reboot”,将右侧窗格中“默认”键值改为“快速重启”,并在“Reboot”下再建一个新项“Command”,修改右侧窗格中“默认”键值为“ShutDown -r -t 00”即可。

      ● 添加“复制到”选项

      在注册表HKEY_CLASSES_ROOT\AllFile-systemObjects\shellex\ContextMenuHandlers分支下,创建一新项“Copy To”,修改右侧窗格中“默认”键值为“{C2FBB630-2971-11D1-A18C-00C04FD75D13}”即可。

      ● 添加“移动到”选项

      在注册表HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenu-Handlers分支下,创建一新项“Move To”,修改右侧窗格中“默认”键值为“{C2FBB631-2971-11D1-A18C-00C04FD75D13}”即可。

      

      

      优化系统右键菜单

      

      在系统使用一段时间后,尤其是经常安装新的软件,会使原本苗条的右键菜单变得臃肿,导致反应迟钝。那么平时该如何注意这方面的问题呢?下面提四点建议仅供参考。

      首先,尽量不安装同类软件。在选择软件时,可以根据自己的喜好选择同类别某一软件,这样可避免右键菜单中多出类似的菜单项。例如计算机中已经安装了ACDSee,就不需要再安装SlowView、Irfan View之类的看图软件,因为一旦安装后,就会出现与“Browse with ACDSee”类似的“Browse with SlowView”、“Browse with Irfan View”等右键菜单命令。

      其次,正常安装卸载软件。如果我们多次重复安装软件,而不是先将原有的软件卸载后再重新安装,这样有可能导致右键菜单出现重复或错误的项目。因此在安装软件前最好先看看是否曾经安装,如果安装过,应卸载后再进行安装。

      第三,使用折叠式菜单。现在有很多软件制作时考虑到这一点,允许用户设置在右键中显示全部菜单还是折叠式菜单,比较典型的有WinZip、WinRAR等。以WinRAR为例,设置方法如下:打开“选项”|“设置”,单击“综合选项”标签页,在“外壳集成”一栏中勾选“折叠关联菜单”即可。

      

      

      第四,借助工具清理右键菜单。除了前面的几种方法外,还可以利用专门的优化工具软件,如超级兔子魔法设置,来删除多余的右键菜单项。

      

      

      

      指定文件类型的右键选单

      

      为特定的文件类型右键菜单添加选项可以通过修改注册表来实现,只不过有一种更为简单并且安全的方法,也就是在文件夹选项中进行修改。

      例如要在MP3文件右键菜单中增加一项“用MPlayer2(Windows Medis player 6.4)播放”,具体操作如下:依次单击资源管理器“工具”|“文件夹选项”|“文件类型”,在已注册文件类型列表框中选中“MP3”,点击下方的“高级”按钮,在弹出的对话框中单击“新建”按钮,然后在“操作”文本框中输入“用MPlayer2播放”,在“用于执行操作的应用程序”框中输入“"C:\Program Files\Windows Media Player\mplayer2.exe" /Play "%L"”,确定后退出文件夹选项即可。

      

      

      文件类对象的右键选单

      

      为文件类对象添加右键菜单项,需要通过修改注册表来实现。举一个简单的例子,为文件类对象增加一个“设为隐藏属性”的菜单项,具体操作方法如下:

      运行Regedit, 在注册表HKEY_CLASSES_ROOT\*分支下新建一项“Shell”,并在该项下级再创建一个新项“AttHide”,修改右侧窗格中“默认”键值为“设为隐藏属性”,然后在“AttHide”下级再创建一新项,命名为“Command”。

      在注册表HKEY_CLASSES_ROOT\*\shell\AttHide\Command右侧窗格中双击“默认”键值,弹出“编辑字符串”对话框,在“数值数据”框中输入“attrib.exe +h "%1"”(注意引号不要输入),确定后退出注册表编辑器。现在用鼠标右键单击任意一个文件,可以看到在弹出的快捷菜单中增加了一项“设为隐藏属性”,选中它就可以为该文件指定隐藏属性。

      

      

      文件夹类对象的右键选单

      

      为文件夹类对象添加右键菜单项,可以在注册表HKEY_CLASSES_ROOT\Directory\Shell分支下,用下面的方法进行同样的设置。

      例如要在文件夹的右键菜单中添加“命令提示符”选项。在注册表HKEY_CLASSES_ROOT\Directory\shell分支下新建一项“CommandPrompt”,修改右侧窗格中的“默认”键值为“命令提示符”,并在该项下级再建一个新项“Command”,将右侧窗格中“默认”键值设为“cmd.exe /k cd "%1"”。现在我们就可以不需要输入长长的CD命令就切换到指定的目录了。

      

      

      驱动器类对象的右键选单

      

      要快速激活屏保,我们可以将屏保请进驱动器的右键菜单中,具体方法如下:在注册表HKEY_CLASSES_ROOT\Drive\shell分支下新建一项“LoadSCR”,修改右侧窗格的“默认”键值为“屏幕保护”,并在该项下级再创建一个新项“Command”,将右侧窗格中“默认”键值设为“C:\windows\system32\logon.scr /s "%1"”,刷新后退出注册表编辑器。这时用右键单击任意驱动器,从菜单中选择“屏幕保护”,就可以直接运行屏幕保护程序了。

      

      

      为所有文件和文件夹添加右键选单

      

      如果想要在所有的文件和文件夹的右键菜单中加入特定的菜单项,可以在注册表编辑器中展开HKEY_CLASSES_ROOT\AllFilesystemObjects,然后依次新建“Shell\命令\Command”,其他操作类似前面。

      

      

      右键级联菜单的扩展

      

      “打开方式”菜单

      Windows XP中的“打开方式”是一个很有用的菜单项。例如对于同一个视频文件,我们可以通过“打开方式”菜单快速调用不同的播放器进行播放,而无需修改文件的关联。当我们通过“打开方式”|“选择程序”调用某个程序打开文件后,该程序就会自动添加到“打开方式”项目中。

      

      

      系统使用一段时间后,会造成“打开方式”菜单中的项目增多,这时就有必要进行清理了。以清理avi格式文件的“打开方式”菜单为例:运行Regedit,打开注册表编辑器,依次展开HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.avi,我们可以看到“OpenWithList”,选中它,在右侧窗格中就可以看到AVI格式文件的“打开方式”菜单所关联的各种应用程序。选中需要清理的项目,按下“DEL”键删除,刷新后退出注册表编辑器即可。


    1文件夹右击菜单注册项

    下图中注册表路径:HKEY_CLASSES_ROOT\Folder\shell。

    文件夹右键菜单项在HKEY_CLASSES_ROOT\Folder\shell下。

    如:HKEY_CLASSES_ROOT\Folder\shell\!exestrong。若其默认子键为空,则菜单显示为!exestrong. .否则为默认子键的值

    注:注册表中“explore”对应“资源管理器”;“open”对应“打开”。


    2文件右击菜单有关注册项

    2.1通用于所有文件的右键菜单项

    适用于所有文件的右键菜单在HKEY_CLASSES_ROOT\*\shell注册项下。如下图所示。


    2.2专用于特定文件的右键菜单项

    专用文件的右键菜单项在HKEY_CLASSES_ROOT\文件后缀\shell下。

    以后缀为.ttt的文件为例。

    图中注册项路径:HKEY_CLASSES_ROOT\.ttt和 HKEY_CLASSES_ROOT\tttfile

    当.ttt的默认键值为空时,右键弹出菜单,以.ttt\shell下的子项为准。如下图所示。


    当.ttt的默认键值不为空时,右键菜单有默认键值决定。(如图中的tttfile).如下图所示

    注:上图中command子键默认键值中含菜单对应的命令行。

    3隐藏指定文件后缀(红色框)和指定文件类型描述(蓝色框)(设置注册项后必须重启系统才有效)

    在HKEY_CLASSES_ROOT\文件后缀对应的项 创建字符串键值对,键名为NeverShowExt

    以.mem文件为例,如下三图。HKEY_CLASSES_ROOT\.mem对应的外壳注册项为memfile,即HKEY_CLASSES_ROOT\memfile。图中HKEY_CLASSES_ROOT\memfile建有NeverShowExt,即表示隐藏该类型文件(.mem)的后缀.

    HKEY_CLASSES_ROOT\.mem 的默认键值指定文件类型描述,如下图的蓝色框。

     

    在以.ttt文件为例:

     

     

    4指定特定文件的显示图标(设置注册项后必须重启系统才有效)

    如文件后缀为.ttt, 其注册项为HKEY_CLASSES_ROOT\.ttt.外壳注册项为HKEY_CLASSES_ROOT\tttfile,在其下添加子项DefaultIcon,设置DefaultIcon项的默认键值即显示图标。

    如下例,将.ttt文件的显示图标设置为与.mem文件相同。

     


    http://blog.csdn.net/aasmfox/article/details/8288881

    展开全文
  • 开始菜单排序

    千次阅读 2011-11-22 09:42:00
    WinXP中安装一些软件,再打开【所有程序】后,一般来说,开始菜单里面的程序列表会变的杂乱不堪,其实是系统将我们安装的软件目录按照安装时间排序了。其实系统中也提供了按名字排序的方法,但是每次安装完毕之后,...
    WinXP中安装一些软件,再打开【所有程序】后,一般来说,开始菜单里面的程序列表会变的杂乱不堪,其实是系统将我们安装的软件目录按照安装时间排序了。其实系统中也提供了按名字排序的方法,但是每次安装完毕之后,都需要我们手动的去操作一下,比较麻烦(下文会写出方法)。如何让菜单自动排序呢?
    

    方法一:
    打开【控制面板】→【任务栏和“开始”菜单】
    选择“开始菜单”页
    选择【经典开始菜单】→【自定义】
    在弹出窗口中点击【排序】
    完成后点击【确定】关闭这个窗口
    回到【任务栏和“开始”菜单】窗口。这是再点击【应用】
    然后再选择【开始菜单】点【确定】
    关闭【任务栏和“开始”菜单】窗口


    你再看看,是不是按照文件夹在前,快捷方式在后,按拼音排序了?
    但是这个方法比较麻烦,我们来试试其他的办法。
    ___________________________________________________________________________________________

    方法二:

    点击【开始】→【运行】,输入“regedit”,然后找到一下路径:
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder
    这个项下面一般有:Favorites、Start Menu、Start Menu2这3个子项,分别对应的是:收藏夹、经典开始菜单、XP开始菜单。
    比如要将XP开始菜单排序
    就在Start Menu2上点右键,再在弹出菜单中点【权限】
    弹出【Start Menu2的权限】窗口
    再点击【高级】
    弹出【Start Menu2的高级安全设置】窗口
    将“允许父项的继承权限传播到该对象和所有子对象。包括那些在此明确定义的项目。”前面的勾勾去掉
    弹出一个【安全】窗口
    点击【复制】按钮
    再点击【Start Menu2的高级安全设置】窗口上的【确定】按钮
    在【Start Menu2的权限】窗口上面的【组或用户名称】中选择一个用户
    在下面的权限窗口中的【完全控制】的权限后面的“允许”、“拒绝”中的勾勾去掉
    只保留【读取】的权限中的“允许”勾选上
    再点击【Start Menu2的权限】窗口上的【确定】按钮
    关闭注册表编辑器
    重启系统、或者注销再登录、或者重启explorer进程

    同理,你也可以设置Favorites、Start Menu这两个项,对收藏夹和经典开始菜单进行排序

    编程实现:

    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrder
    这个项下面一般有:Favorites、Start Menu、Start Menu2这3个子项,分别对应的是:收藏夹、经典开始菜单、XP开始菜单。

    windows开始菜单默认是按字母排序,所以可以在安装程序时,删除Start Menu、Start Menu2里我们安装的程序快捷方式,这样重启电脑后,windows就会默认按字母排序我们安装程序的快捷方式。

    ---------------------------------------------------------

    当您安装一个新的用户程序,你会发现程序快捷方式在开始菜单中没有按字母顺序排列。如果您使用的是经典开始菜单,您可以通过右键单击任务栏,选择“属性”,点击“自定义”按钮旁边的经典开始菜单,并点击“排序”按钮手动按字母排序开始菜单 。然而,如果您使用的是 Windows XP开始菜单,就没有等效的按钮 。为了使Windows总是按字母顺序排列开始菜单,可以删除控制“开始”菜单排序的注册表项。要做到这一点,请转到 :HKEY_CURRENT_USER \ SOFTWARE \ MICROSOFT \ WINDOWS \ CURRENTVERSION \ Explorer中\MenuOrder选择“编辑”|权限,单击“高级”按钮 。取消选中“从父项继承应用到子对象的权限项目”复选框,然后单击“复制”安全对话框弹出时 。单击“确定”,并清除您的帐户和安全组的成员全部控制项 。只留下只读权限。






    展开全文
  • windows右键菜单中加入自己的程序

    千次阅读 2009-03-20 08:44:00
    修改右键菜单应该在...一般地说,只要是在windows系统中已注册过的扩展名,在HKEY_CLASSES_ROOT下均有“·该扩展名”子键 ,记录该扩展名的一些信息,对某种特定类型的文件的右键菜单的修改,便是在该键或“扩展名f

    修改右键菜单应该在注册表中,具体的说,是在HKEY_CLASSES_ROOT根键下(这里可是右键菜单中所有命令的根源哦!)。展开该根键,其下的子键主要有两种:扩展名键(.+扩展名)和类定义键。一般地说,只要是在windows系统中已注册过的扩展名,在HKEY_CLASSES_ROOT下均有“·该扩展名”子键   ,记录该扩展名的一些信息,对某种特定类型的文件的右键菜单的修改,便是在该键或“扩展名file”键下的操作。  
      一、在所有的文件右键菜单中加入命令  
      如果你的系统上安装有Winzip、UltraEdit等,当你对任一文件点右键时,都会有“Add   to   zip”、“UltraEdit-32”等命令(当然,Winzip稍有不同,我将在后面讲到)。它的添加方法是:  
      1.打开“HKEY_CLASSES_ROOT/*”;  
      2.在其下新建“shell/命令/command”分支,再将command的键值设为执行该命令时所用的可执行程序的绝对路径,并在其后加“%1”即可。  
      例:在“HKEY_CLASSES_R  
      OOT/*”下新建“shell/用写字板打开/command”子键,将command的键值设为“c:/windows/notepad.exe   %1”,就会在右键菜单中出现“用写字板打开”的命令了。    
      说明:1.   要删除该类命令,只需将“命令”子键删除即可;  
      2.   有的人或许会问他按我写的去做,但是得到的为何与我的有一些不同,这就是我的命令里有快捷键(N),只要在“用写字板打开”后加入“(&N)”即可。    
       
      二、在特定文件类型的右键菜单中加入命令  
      刚才说到了Winzip这个软件,对普通的文件类型,它的右键菜单中有“Add   to   zip”,但是对它所支持的压缩文件类型,如*.zip、*.cab、*.rar在其右键菜单中有“Open   with   Winzip”、“Extract   to”、“Extract   to   folder”、“Create   Self-Extractor(.EXE)”   等命令,对于自解压性安装文件(如OICQ99b),其右键菜单中有“Run   with   Winzip”命令。下面是特定文件类型的右键菜单的命令添加方法(以在mp3文件的右键菜单中加入Play   with   winamp为例):  
      1.打开“HKEY_CLASSES_ROOT/mp3_auto_file”主键;  
      2.在其下新建“shell/Play   with   Winamp(&P)/command”,将command的键值设为“C:/Program   files/winamp/winamp.exe   %1”   。  
      说明:当有多个软件可以播放mp3文件时,我们可以在右键菜单中添加多条命令,如加入“Play   with   Unreal”等命令,但是我们如何将某一条命令定义为默认操作(即右键菜单中的黑体命令)呢?  
      你一定会说,很简单的事情吗!将mouse移向一mp3文件,在按右键的同时按shift,在右键菜单中选“打开方式“便可更改,但是这是错误的,不信你试试看,这样只有在右键菜单中选“打开”时才会用你所选择的程序来打开它,否则,它仍旧一如继往。因为它的默认操作不是“打开“这条命令。真正的方法是将shell的默认键值改为你所想执行的命令,例如将shell的键值改为“Winamp”。    
      还有,不知道你发现了没有,我在前面的例子中用的是“Play   with   Winamp”命令,而在这里用的是“Winamp”,是不是有点不对应呢?说到这里,真是让我心酸,本来我在txt文档中用shell进行默认操作的转换时(转换open与print)挺成功的,但是一转换“Play   with   Winamp”与“Play   with   Unreal”便失败,总是转换不过来,最后才明白这可能是“瘟酒吧”的一个bug,它要求转换时主键的键名为单个字符串时才有效。对汉字与英文的组合也有效,不过中间可不能有空格(不知道这是否与我的Win98是D版有关?)。    
      如果你认为上面的方法不太方便且过于复杂,其实在Windows中还提供了不用操作注册表的更为方便安全的方法:打开一个文件夹,选“查看/文件夹选项/文件类型”,   在这里你将会找到所有已经注册的文件类型,选择“mp3文件/编辑”,看到操作下面的“新建”、“编辑”、“删除”、“设为默认值”这四个按钮没有?不用我再教你了吧!嘿嘿。    
       
      三、在所有的文件夹右键菜单中加入命令  
      如果你用过Acdsee这个软件,就会发现在文件夹的右键菜单中总有“Browse   with   acdsee”这一命令,同类的还有Pc-cillin中的Trend   Pc-cillin   98命令,下面再该类命令的添加方法:  
      1.打开“HKEY_CLASSES_ROOT/diretory/shell”主键;  
      2.在其下新建“命令/command”……下面不用再说了吧!  
      说明:1.如果你细心一下的话,你将会发现其实在驱动器的右键菜单中,也有“Browse   with   acdsee”   “Trend   Pc-cillin98”等命令,驱动器也是特殊的文件夹,但是通过上面的方法是无法在驱动器的右键菜单中加入命令的。如果要在其中加入命令,须对“HKEY_CLASSES_ROOT/drive/shell”主键进行操作;  
      3.在“HKEY_CLASSES_ROOT”主键下还有一个folder子键,顾名思义,对它的操作将影响所有的文件夹,包括回收站,切记切记!  
       
      四、在所有的文件与文件夹的右键菜单中加入命令  
      如果你自己开发了一个程序,它的操作对象是文件和文件夹,因此你想在所有的文件和文件夹的右键菜单中加入特定的命令进行操作,这就得看下面的了。  
      打开“HKEY_CLASSES_ROOT/AllFilesystemObjects”主键,在其下新建“shell/命令/command”,以下操作同前。    
      需要指出的是这只是一种解决方法,如果大家看我所抓下的图,会发现总有一个“IconView”命令,出现在所有的文件和文件夹的右键菜单中,但是这可不是用这种方法形成的,不妨作一下对比,这条命令是通过该软件中的应用程序扩展库iv_shext.dll扩展而来,因此它出现在右键菜单的中部。而不是在顶部   。(什么?让我讲一下这种方法?)由于这种方法涉及到编程方面的内容,限于篇幅和主题,我就不讲这种方法了(嘘!小声点,其实我也是不会。)  
       
      五、一些特殊命令的添加与删除  
      1.资源管理器  
      在Windows系统中,普通文件夹、驱动器、回收站等的右键菜单中都有“资源管理器“命令,如果你只想在驱动器中保留该命令,可以先在“HKEY_CLASSES_ROOT/folder/shell”主键中删除explore子键,然后在“HKEY_CLASSES_ROOT/drive/shell”主键中新建“explore/command”子键,令commmand的键值为“C:/WINDOWS/Explorer.exe/e,/idlist,%I,%L”怎么样,成功了吧!  
      2.清空回收站  
      在Windows系统中,只有在回收站的右键菜单中才有“清空回收站”的命令,是不是太不方便了呢,好,我们可以经过一番改造,让所有的文件菜单中都有“清空回收站”的命令,follow   me!  
      我们的思路是先找出“清空回收站”这个命令的来源,然后将其照搬到“HKEY_CLASSES_ROOT/*”下即可。好,还是先来找吧,我找呀找,终于找到了!——再教你一招,就是一些特殊的命令(特别是第三方提供的软件),都是由应用程序扩展库(.DLL)扩展而来,在注册表的“shellex/ContextMenuHandlers”中便能找到它的痕迹。   我们打开“HKEY_CLASSES_ROOT/CLSID/{645FF040-5081-101B-9F08-00AA002F954E}   /shellex/ContextMenuHandlers”,可以发现其下有一名为“{645FF040-5081-101B-9F08-00AA002F954E}”的子键,这就是“清空回收站”命令的根源了。  
      找到了根源,就容易多了,在“HKEY_CLASSES/ROOT/*/shellex/ContextMenuHandlers”下新建一键名为“{645FF040-5081-101B-9F08-00AA002F954E}”的子键,怎么样,够酷吧!  
      3.新建命令的子命令的添加与删除  
      不知道有没有遇到这种情况:你经常自己手工编写网页,在单位的机器上的新建命令中有“新建html文档”的命令,但是你的机器上却没有,还有,随着各种软件的不断增加,你的新建命令弹出子命令的时间越来越长,够呛的吧!   不要紧,不用急,让我来帮你把该出来的叫出来,不该来的让它回去!  
      打开“HKEY_CLASSES/ROOT/.htm”,添加一主键shellnew,然后新建字符串值NullFile   ,键值为空,你现在再对桌面点右键,看看新建,是不是多了一点什么?   至于删除,想各位不致让我多说了吧!  
      4.剪切、复制、粘贴等命令的添加  
      注意,我只是谈剪切、复制、粘贴等命令的添加,也就是说对右键菜单中没有这些命令的某些对象,可以添加,而对那些本来有就这些命令的对象,就连删除它们,我都无能为力。  
      好,我现在以回收站为例,来进行剪切、复制、粘贴等命令的添加,具体地说,有“打开、剪切、复制、粘贴、重命名、删除、属性”等命令的添加。   先打开“HKEY_CLASSES_ROOT/CLSID/{645FF040-5081-101B-9F08-00AA002F954E}”主键,你会发现有“shellfolder”子键,在该子键下新建二进制值attributes,它的键值就决定了这些命令在右键菜单中的显示与隐藏。具体如下:  
      命令   键值  
      打开   00   00   00   20  
      剪切   02   00   00   00  
      复制   01   00   00   00  
      粘贴   00   01   00   00  
      删除   20   00   00   00  
      重命名   10   00   00   00  
      属性   40   00   00   00  
      如果你要显示某些命令,只需将该命令所对应的键值相加,结果作为attributes的键值即可。例如:当attributes值为00   00   00   00(默认)时,将不显示以上命令,当为73   01   00   20时,将显示所有的命令。现在好了,可以将“回收站“改为你所想改的名称了,还可以将“废物”粘贴到回收站了(不过我看这倒没有多大的作用,是吗?)    
      5.“发送到”及其菜单  
      有的文件夹(如我的文档)的右键菜单中没有“发送到”这条命令,我们可以给它添加上去,方法可以参考“清空回收站”命令的添加方法。就是打开“   HKEY_CLASSES_ROOT/CLSID/{450D8FBA-AD25-11D0-98A8-0800361B1103}/shellex/ContextMenuHandlers”,在其下新建“{7BA4C740-9E81-11CF-99D3-00AA004AE837}”子键,就可以了。    
      至于“发送到“的菜单,是不需要在注册表中对其进行操作的,它的根源是“C:/windows/SendTo”这个文件夹,你只需在这个文件夹内新建一个快捷方式,让它指向你所想要发送到的文件夹,就OK了。  
      6.查找  
      在Windows系统中,普通文件夹及驱动器的右键菜单中有“查找……”这条命令,如果我们要在回收站中寻找误删除的文件,而此时回收站中的文件又多的话,我们就可以在回收站的右键菜单中加入“查找……”这条命令。具体方法可以参考2,5。只是需要新建的子键为“{61E218E0-65D3-101B-9F08-061CEAC3D50D}”。只不过命令变成了“文件或文件夹……”

    展开全文
  • 修复Win10任务栏开始菜单等系统图标无法点击问题

    万次阅读 多人点赞 2015-10-19 14:15:30
    升级win10之后,有时会莫名其妙发现任务栏上面包括开始菜单、小娜、日历、系统通知等系统图标都无法点击,并且重启系统之后并没有自动修复。发生这种情况可以尝试以下解决方法:方法一:卸载冲突软件这种情况有可能...
  • 浅谈windows系统右键菜单

    千次阅读 2016-11-07 21:55:36
    在更新nvidia和intel显卡驱动后,桌面右键菜单多了几个选项,由于平时基本用不到,所以打算删掉。 查到一个能用的答案是这样的 regsvr32 /u /s igfxpph.dll reg delete HKEY_CLASSES_ROOT\Directory\Background\...
  • 今天为了工作的需要,自己写了一个批处理文件,用于提高工作的效率,写好之后就在纠结将这个文件放到哪里比较方便日常的使用。...思来想去,觉得将这个文件直接固定到开始菜单上,应该是一个最好...
  • win10系统开始菜单打不开、任务栏左键点击无效,个性化无法使用。 原因:猜测是由于系统更新导致的紊乱。 试用了网上的n多方法,包括改注册表、开启服务等,都没有用。 最终使用微软官方提供的系统安装工具Media...
  • 为了推广 UWP 应用,在自身设置(按“Win+I”可以直接调用)功能尚未完善的前提下,微软就自作主张地弱化控制面板在 Windows 10 中的存在,在某次版本更新(应该是1703之后)后,开始菜单的右键菜单(即 “Win+X” ...
  • windows mobile 中软键菜单的格式

    千次阅读 2007-03-22 18:46:00
    首先用资源编辑器创建一个简单的菜单:IDR_MENU MENU BEGIN POPUP "帮助" BEGIN MENUITEM "关于", IDM_HELP_ABOUT ENDEND这个菜单包括一个弹出菜单“帮助”,弹出后只有一个菜单项“关于”。 为了声明或者...
  • Windows Terminal 配置 Windows Terminal 是一个面向命令行工具和 shell(如命令提示符、PowerShell 和适用于 Linux 的 Windows ...记录 Windows Terminal 配置文件信息以及添加为右键菜单 一.参数说明 官方文档 1.glo
  • 从“开始菜单”到任务栏

    千次阅读 2012-10-28 09:21:00
    自“开始菜单”在 Windows 95 出现后一直是除了桌面快捷方式外用户应用程序和系统功能的快速启动器,但也一直有界面太小、用户无法定义的困扰,之后的 XP 引入“最常试用程序”、Vista 引进“搜索框”试图去解决这些...
  • 注册表(安全 开始菜单和任务栏)

    千次阅读 2008-03-05 04:53:00
    标题: 清除“运行”项目中保存的命令行 操作系统: (All Windows) 说明: 在“开始菜单的“运行”框中保存了曾经输
  • 编程实现向开始菜单和桌面上添加快捷方式 通过InstallShield for Microsoft Visual C++ 6等应用程序创建一个安装程序来建立菜单项或快捷方式并不复杂,但是如果希望做一个无须安装的“绿色软件”,那么就只有自己...
  • Windows 打开命令行窗口四种方式:【shift +右键】快捷键和设置【直接右键】菜单等 文章目录Windows 打开命令行窗口四种方式:【shift +右键】快捷键和设置【直接右键】菜单等1.设置【直接右键】菜单(推荐)2....
  • windows右键菜单开发--with vs2008(2005) or vc9(vc8) 前言:其实最近一直在看微软的刻录函数 imapi2,发现大量的接口函数,不过com没怎么接触过,上手比较困难。但是以前给自己的一个程序做过一个右键菜单,是...
  • Windows下将gvim添加到右键菜单

    千次阅读 2016-09-04 15:36:40
    ",在"command"的右边窗口第一个文件(也是唯一一个),将其数值数据设定为"D:\\Program Files (x86)\\Vim\\vim74\\gvim.exe" -p --remote-tab-silent "%1",其中数值数据包括双引号;上面的数值名称不用修改,点击...
  • 2015年7月29日发布的Windows 10正式版版本号是Build 10240。...此年度更新版本包括了非常多的新功能:新的开始菜单平板模式改进锁屏CortanaWindows Ink通知中心等其它大量改进。下面是新功能详细介
  • Windows快捷键精华版(包括浏览器)

    千次阅读 多人点赞 2021-01-24 10:39:02
    快捷键 1:功能区按键 F1 - F10 功能区键 F1 :显示帮助 ...ctrl+esc:打开开始菜单 文字处理 ctrl+a:全选 ctrl+b:加粗 ctrl+c 赋值 ctrl+d:删除 ctrl+e:居中 ctrl+f:查找 find ctrl+h:替换 ctrl+z
  • 前两天一个同学的电脑发生了此种情况,所有(包括开始菜单里的所有东西)快捷方式都变为了浏览器的.lnk(快捷方式)文件,而且一打开东西,浏览器(因为默认都变为了浏览器的快捷方式)就不停的闪动,之后其它操作都...
  • Window10下安装Anaconda3-2019.10-Windows-x86_64不成功 元旦出去浪了,回来Pycharm里的所有程序都运行不了了,所有库几乎都找不到,包括matplotlib.pyplot,tensorflow都找不到了,换了python解释器也不行,就想着...
  • Windows系统、Mac、桌面版Linux、Java Swing等,都有可视化菜单。一、Android平台3种菜单 选项菜单(OptionMenu)、上下文菜单(ContextMenu)、子菜单(SubMenu)。1.Option Menu 一般手机上都会提供Menu的按钮,对应的...
  • cleanmgr-------垃圾整理 net start messenger----开始信使服务 compmgmt.msc---计算机管理 net stop messenger-----停止信使服务 conf-----------启动netmeeting dvdplay--------DVD播放器 ...
  • 为了满足这些爱好者的需要,笔者深入到播放器的内核,对播放器进行了修改,终于去掉了那个老是去不掉的菜单. 可以让很多FLASH爱好者都能够彻底去掉FLASH的右键菜单. 文件下载: download.incoo....
  • android菜单详解

    千次阅读 2012-10-01 22:26:54
    理解Android的菜单 ...上下文菜单:android中长按视图控件后出现的菜单windows点击右键弹出的菜单即上下文菜单图标菜单:这个比较简单,就是带icon的菜单项,需要注意的是子菜单项、上下文菜单项、
  • 背景:我已经自定义标题栏中菜单的风格了, 现在想添加托盘菜单一样的菜单包括风格也一样)。。 在网上找了好多资料都是用 WinForm 的代码如下  void InitTrayMenu()  {  this.notifyIcon1 = new System....
  • windows8和windowsserver2012不联网安装.net3.5(包括2.0和3.0) 安装完win8后 发现系统默认没有安装.net3.5 如果使用在线更新的话需要很久才能完成,特别是当前的网速以及微软的服务器。速度很忙,其实我们利用win8...
  • 昨天饶有兴趣地折腾了一下Windows Vista的开发版Windows Longhorn。为了折腾这玩意,投入了Google的怀抱,查阅了很多的外文教程和资料,才勉强成功!不过看看就好,要使用就算了吧,稳定性真的很不好。于是想把这个...
  • Windows程序设计之基本介绍

    千次阅读 2019-03-07 14:39:27
    其主要内容包括:SDK程序设计、MFC程序设计及ODBC数据库应用程序设计、windows核心编程。 SDK程序设计包括windows图形界面基础,主要是windows图形界面应用程序的结构以及windows消息响应机制。 GDI绘图,主要是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 166,959
精华内容 66,783
关键字:

windows的开始菜单包括了