禁用某些程序的跳转列表中的最近项目

禁用某些程序的跳转列表中的最近项目

有没有办法关闭 Windows 7 中特定程序跳转列表中的最近项目?此功能对某些程序很有用(例如我的文本编辑器),但有些程序我不需要每个人都看到我最近打开的内容(例如我的视频播放器)。我四处寻找解决方案,找到了两个“解决方案”:

  1. 关闭最近的项目全部跳转列表(打开任务栏和开始菜单属性并取消选中“在开始菜单和任务栏中存储并显示最近打开的项目”)。
  2. 手动清除最近的项目历史记录。

这两个选项对我来说似乎都没什么用。如果您确实不想让别人看到您最近的文档,那么 #1 似乎是更好的解决方案,但您会失去所有程序的该功能,而不仅仅是您想要的程序,而 #2 似乎很容易被忘记。

答案1

每个程序的跳转列表都存储在"%AppData%\Microsoft\Windows\Recent\AutomaticDestinations"但是它们采用具有模糊名称的二进制格式。例如"8fbb9843e86d54f4.automaticDestinations-ms"(从现在开始我将称之为 .adms)

只需反复试验就能发现哪个 .adms 属于哪个程序。

  • 打开一个视频。

  • 将 AutomaticDestinations 文件夹放入详细视图并按修改日期排序。

    只有一个或两个 .adms 文件应该显示为在过去一分钟内修改过。一个可能是 Explorer 的最近文件夹列表,另一个应该是您的程序。

  • 删除其中一个 .adms,然后尝试打开程序的跳转列表。(“开始”菜单中的程序仍会显示跳转列表箭头,您必须单击才能查看它是否打开或不执行任何操作)

一旦确定了正确的 .adms,请取消删除它并将文件属性设置为只读(这将完全禁用跳转列表)*

或者,记下文件名,并在需要时进入并删除它。Windows 将使用相同的名称重新创建它。

* 我尝试更改其他权限,但它需要完全写入权限,否则根本不起作用!?!?

答案2

有选择地禁用每个应用程序的任务栏跳转列表永久

  • 在资源管理器中打开包含跳转列表数据库的文件夹(每个应用程序有一个文件): %APPDATA%\Microsoft\Windows\Recent\AutomaticDestinations
  • 下载一个名为字符串Windows 系统内部进入上一步的文件夹
  • 启动cmd.exe并导航到跳转列表目录
    cd %APPDATA%\Microsoft\Windows\Recent\AutomaticDestinations
  • Strings.exe 允许从任何二进制文件中提取可读的单词,从而了解哪个应用程序创建了给定的跳转列表二进制数据库。复制粘贴以下命令为每个跳转列表数据库创建一个包含字符串的 .txt 文件:
    for %i in (*Destinations-ms) do @strings -n 5 %i >%i.txt
  • 查看 .txt 文件以确定跳转列表属于哪个应用程序。使用命令行:findstr /I adobe *.txt或在编辑器中打开 .txt 文件 - 从应用程序名称和最近访问的文件名中可以​​明显看出创建它们的应用程序
  • 禁用应用程序的任务栏跳转列表的有趣部分非常简单:创建一个与跳转列表数据库文件名同名的目录。在我的电脑上,为了禁用 Adob​​e Reader 的跳转列表,我删除了ee462c3b81abb6f6.automatic目的地-ms并创建了同名的新目录。如果您决定再次使用已禁用的跳转列表 - 删除该目录,Windows 将重新创建跳转列表数据库文件及其中的跳转列表历史记录

解决方案最初发布于伊斯托明

答案3

如果没有其他办法,您可以尝试在机器上为每个用户设置不同的帐户。

答案4

实际上,我相信最好的解决方案只是一个简单的注册表设置。很久以前,我在我的网站上发布了此解决方案(适用于 Windows 7): http://www.1hd.biz/2013/02/how-to-permanently-disable-lnk-files.html

实质上,您需要执行以下操作:以管理员权限打开 regedit,然后转到:HKey_Current_User\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer

创建一个名为“DWORD”(32 位)的值无近期文档历史记录其值为1

Windows 资源管理器和 Office 应用程序中的 MRU 列表现在将被禁用。无需重新启动。

相关内容