如何防止程序显示在开始菜单中的“最近打开的程序”中?

如何防止程序显示在开始菜单中的“最近打开的程序”中?

在 Windows 7 64Bit 中,每次我打开一个程序时,如果不存在它,它将被添加到开始菜单中的“最近打开的程序”列表中。如果我再次打开同一个程序,它在“最近打开的程序”列表中的快捷方式顺序将会上升,因此最常用的应用程序将从上到下位于第一位。

右键单击其图标并单击“从此列表中删除”,该快捷方式将从“最近打开的程序”中删除。

但如果我再次运行该应用程序,它将直接放在“最近打开的程序”的顶部。

我的问题是如何防止将特定应用程序添加到“最近打开的程序”列表中并保持当前顺序?如果“最近打开的程序”列表顺序取决于每个应用程序的调用次数,我可以在哪里修改这个数字?注册表?在哪里?

我不想将应用程序固定在开始菜单中,我只是想阻止特定的应用程序显示在此菜单中。

答案1

通常,固定功能由应用程序开发人员控制。应用程序开发人员使用应用程序用户模型 ID (AppUserModelIDs)控制固定到开始菜单和任务栏。

某些进程无法固定,因此不会出现在“最近使用的应用程序”列表中。例如,Windows 照片查看器在主机进程中运行dllhost.exe,因此无法固定。

有几种方法可以实现这一点:

  1. 将应用程序注册为主机进程

    应用程序可以设置IsHostApp注册表项,以使任务栏将该可执行文件的进程视为主机进程。

    以下示例显示了所需的注册表项。请注意,该项未分配值;它的存在就是所需的一切。它是一个REG_NULL值。

    HKEY_CLASSES_ROOT
       Applications
          example.exe
             IsHostApp
    
  2. 任务栏固定和最近/常用列表的排除列表

    应用程序、进程和窗口可以选择使自己无法固定到任务栏或包含在“开始”菜单的 MFU 列表中。

    NoStartPage条目添加到应用程序的注册中,如本例所示:

    HKEY_CLASSES_ROOT
       Applications
          Example.exe
             NoStartPage
    

    与条目相关的数据NoStartPage将被忽略。只需要条目存在。因此, 的理想类型NoStartPageREG_NONE

如果将显式的 AppUserModelID 应用于快捷方式、进程或窗口,则这两种方法都将不起作用,它将变得可固定并有资格进入“开始”菜单 MFU 列表。

相关内容