4

Например, если у меня установлен Excel и он появляется в меню «Пуск», когда я наводю на него курсор мыши, справа отображаются последние использованные документы.

Они также появляются, когда я щелкаю правой кнопкой мыши значок открытого приложения на панели задач.

Где этот список документов хранится для всех приложений? Как я могу очистить его для конкретного приложения?

1 ответ1

3

Ответьте в этой теме, я не понимаю второй шаг "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);
}

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .