有没有办法关闭 Windows 7 中特定程序跳转列表中的最近项目?此功能对某些程序很有用(例如我的文本编辑器),但有些程序我不需要每个人都看到我最近打开的内容(例如我的视频播放器)。我四处寻找解决方案,找到了两个“解决方案”:
- 关闭最近的项目全部跳转列表(打开任务栏和开始菜单属性并取消选中“在开始菜单和任务栏中存储并显示最近打开的项目”)。
- 手动清除最近的项目历史记录。
这两个选项对我来说似乎都没什么用。如果您确实不想让别人看到您最近的文档,那么 #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 文件 - 从应用程序名称和最近访问的文件名中可以明显看出创建它们的应用程序 - 禁用应用程序的任务栏跳转列表的有趣部分非常简单:创建一个与跳转列表数据库文件名同名的目录。在我的电脑上,为了禁用 Adobe 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 列表现在将被禁用。无需重新启动。