例如,如果我安装了 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}\Count
,HKEY_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); }