开始菜单中应用程序的 MRU 存储在哪里?

开始菜单中应用程序的 MRU 存储在哪里?

例如,如果我安装了 Excel 并且它出现在开始菜单中,当我将鼠标悬停在它上面时,最近使用的文档就会显示在右侧。

当我右键单击任务栏中打开的应用程序的图标时,它们也会出现。

所有申请的文件清单存储在哪里?如何清除特定申请的文件清单?

答案1

在此线程中回答,我不明白第二步“PInvoke”,也许有人可以解释一下。

https://stackoverflow.com/questions/4678445/clean-windows-7-start-menu-mru-list

现在这是我的问题的解决方案:

我清理了注册表项下的值HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist{CEBFF5CD-ACE2-4F4F-9178-9926F41749EA}\CountHKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist{F4E57C4B-2036-45F0-A9AB-443BCFE33D9F}\Count

然后我执行了以下 PInvoke 来刷新 Explorer.exe 的缓存:

C#:

using System.Runtime.InteropServices;
[DllImport("shell32.dll")]
static extern void SHChangeNotify(int wEventId, int uFlags, IntPtr dwItem1, IntPtr wItem2);
private const int SHCNE_ASSOCCHANGED = 0x08000000;
private const int SHCNF_IDLIST = 0x0000;
private void ClearCache() {
    SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, IntPtr.Zero, IntPtr.Zero);
}

相关内容