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


16

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

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

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

Answers:


18

每个程序的跳转列表都存储在其中,"%AppData%\Microsoft\Windows\Recent\AutomaticDestinations"但是它们是二进制格式且名称晦涩。例如"8fbb9843e86d54f4.automaticDestinations-ms"(从现在开始我将其称为.adms)

只需稍作尝试,就可以发现哪个.adms属于哪个程序。

  • 打开一个视频。

  • 将AutomaticDestinations文件夹放入“详细信息”视图,然后按“修改日期排序”。

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

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

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

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

*我尝试更改其他权限,但它需要完全写权限,否则将根本无法使用!


3
顺便说一下,这些文件是OLE结构化存储文件。您可以使用免费的MiTeC结构化存储查看器打开和编辑它们。您可以通过检查文件条目包含的文件名来检查文件所属的程序。(DestList条目包含固定的元素。)
Daniel Saner

8

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

  • 在资源管理器中打开包含跳转列表数据库的文件夹(每个应用程序都有一个文件): %APPDATA%\Microsoft\Windows\Recent\AutomaticDestinations
  • 下载一个免费的程序调用字符串的Windows Sysinternals的到上一步的文件夹
  • 启动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文件-创建它们的应用程序从应用程序名称和最近访问的文件名称中将很明显
  • 禁用应用程序的任务栏跳转列表的有趣部分非常简单:创建与跳转列表数据库文件名相同的目录。在我的PC上,要禁用Adobe Reader的跳转列表,我删除了ee462c3b81abb6f6.automaticDestinations-ms并创建了一个具有相同名称的新目录。如果您决定再次使用禁用的跳转列表,请删除该目录,Windows会在其中重新创建跳转列表数据库文件和跳转列表历史记录

解决方案最初发布在istomin.de


2

如果没有其他效果,则可以尝试在计算机上为每个用户设置不同的帐户。


1
通常,为多个人设置多个用户帐户是一个好主意。通过为每个使用机器的人提供一个用户帐户并用密码保护他们,可以解决很多问题。除非他们知道您的密码,否则这将阻止普通人知道您在做什么。
Doltknuckle

2

要完全禁用跳转列表,以Google Chrome为例,打开记事本并输入以下内容:

Set WshShell=Wscript.CreateObject("Wscript.Shell")
WshShell.Run "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe",7,FALSE

将文件另存为.vbs文件。我Internet.vbs在制作为的文件夹中使用C:\Windows\Scripts\。在某处创建的新快捷方式Internet.vbs。我将快捷方式命名为Internet。然后将Internet快捷方式固定到“开始”菜单。您甚至可以进入快捷方式属性,更改图标,转到Google Chrome可执行文件,选择“打开”,然后使用Google Chrome图标作为快捷方式。

由于固定项目指向.vbs脚本而不是可执行文件本身,因此根本没有任何跳转列表。


1

实际上,我认为最好的解决方案只是一个简单的注册表设置。我很早以前就在我的网站上发布了此解决方案(适用于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

创建一个名为NoRecentDocsHistory的DWORD(32位)值,其值为1

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


0

我对文件夹和IE最近的项目执行了此操作。我禁用了跳转列表。我经常使用打开的网站,并将其固定在任务栏图标上。文件夹也一样。然后我关闭了最近的物品。右键单击IE,我仍然看到固定的项目。文件夹也一样。当我检查最近的文档时,没有列出任何内容,因为最近的项目已关闭。半途而废,但对我有用。


-1

这并不是您想要的,但是要禁用所有跳转列表,请参见下文。跳转列表对我来说似乎毫无用处,特别是因为跳转列表显示的数据非常有限,甚至都无法为您提供文件路径。像Windows中的大多数事物一样,他们似乎认为信息越少越好……我认为一个信息越多越好。

要禁用所有跳转列表,请右键单击没有图标的开始菜单,然后单击属性,单击“开始菜单”选项卡,然后单击“自定义”按钮。在右下角,您将看到选项“要在跳转列表中显示的项目数”,将其更改为0。


2
他已经描述了如何关闭所有跳转列表-他正在询问如何仅对特定程序执行此操作。
杰伊·埃尔斯顿
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.