对于每个可执行文件名称,此注册表项包含该应用程序上次执行 SaveAs(也许是 Save,我不确定)的目录。
每个字母都包含一个可执行文件的信息并MRUList
包含顺序(这很重要)。
我的在“y”处被最大化,而我MRUList
的是sxahmcjierfobglyuqpdtwvkn
。
根据实验,当我从已经存在的应用程序中执行 SaveAs 时,它只是替换该字母的信息并将其移动到MRUList
.
如果应用程序不存在且并非所有字母都在 中MRUList
,它会抓取第一个可用字母,将信息放入该字母中,然后将该字母放在MRUList
.
如果应用程序不存在并且使用了所有字母,它会抓取 上的最后一个MRUList
,将信息放入该字母中,然后将其移动到MRUList
.
我注意到为一个全新的应用程序执行 SaveAs 不会给我这z
封信,它会重新使用“MRUList”中的最后一个。
密钥本身看起来像 UCS-2(16 位 Unicode,在我的澳大利亚版本的 Windows 中散布空字节的 ASCII,您的里程可能因国际变体而异)并且它们包含以空字符结尾的可执行文件名称,然后是以空字符结尾的可执行文件名称目录。
关于您关于无法访问该应用程序源的评论,这并不重要。不是那个应用程序改变了这些键。ComDlg32 是 Windows 本身的常用对话框(打开、另存为、打印设置等)。
如果要为给定应用程序设置 MRU,请按照以下步骤操作。
1/ 在字母键中搜索该应用程序。如果找到,请转到步骤 3。
2/ 获取下一个不在MRUList
. 如果 .MRUList
已经包含所有字母a
,y
或者您不确定它y
总是最后一个(它可能在注册表中的其他位置可配置),请抓住 . 末尾的最后一个字母MRUList
。
3/ 现在你收到了你的信。使用应用程序和目录的 UCS-2 数据更改或创建该字母键(均以 null 结尾)。
4/ 更改MRUList
将您的字母放在前面。
那里。那应该这样做。