在 Windows 7 64Bit 中,每次我打开一个程序时,如果不存在它,它将被添加到开始菜单中的“最近打开的程序”列表中。如果我再次打开同一个程序,它在“最近打开的程序”列表中的快捷方式顺序将会上升,因此最常用的应用程序将从上到下位于第一位。
右键单击其图标并单击“从此列表中删除”,该快捷方式将从“最近打开的程序”中删除。
但如果我再次运行该应用程序,它将直接放在“最近打开的程序”的顶部。
我的问题是如何防止将特定应用程序添加到“最近打开的程序”列表中并保持当前顺序?如果“最近打开的程序”列表顺序取决于每个应用程序的调用次数,我可以在哪里修改这个数字?注册表?在哪里?
我不想将应用程序固定在开始菜单中,我只是想阻止特定的应用程序显示在此菜单中。
答案1
通常,固定功能由应用程序开发人员控制。应用程序开发人员使用应用程序用户模型 ID (AppUserModelIDs)控制固定到开始菜单和任务栏。
某些进程无法固定,因此不会出现在“最近使用的应用程序”列表中。例如,Windows 照片查看器在主机进程中运行dllhost.exe
,因此无法固定。
有几种方法可以实现这一点:
-
应用程序可以设置
IsHostApp
注册表项,以使任务栏将该可执行文件的进程视为主机进程。以下示例显示了所需的注册表项。请注意,该项未分配值;它的存在就是所需的一切。它是一个
REG_NULL
值。HKEY_CLASSES_ROOT Applications example.exe IsHostApp
-
应用程序、进程和窗口可以选择使自己无法固定到任务栏或包含在“开始”菜单的 MFU 列表中。
将
NoStartPage
条目添加到应用程序的注册中,如本例所示:HKEY_CLASSES_ROOT Applications Example.exe NoStartPage
与条目相关的数据
NoStartPage
将被忽略。只需要条目存在。因此, 的理想类型NoStartPage
是REG_NONE
。
如果将显式的 AppUserModelID 应用于快捷方式、进程或窗口,则这两种方法都将不起作用,它将变得可固定并有资格进入“开始”菜单 MFU 列表。