Очистить Windows 7 Пуск Меню MRU Список

Есть ли способ программно очистить недавно запущенные приложения из меню "Пуск" Windows 7?

Я ищу некоторые записи реестра и / или файлы для удаления, чтобы удалить соответствующие элементы в меню Пуск Winodws 7.

3 ответа

Решение

Теперь это решение для моего вопроса:

Я почистил значения под ключами реестра

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);
}

С уважением, Борис

SHAddToRecentDocs(SHARD_PIDL, NULL) - это документированный способ очистки последних документов, не путающийся в реестре, как предлагает Сурья.

Поскольку ваш вопрос включает в себя слово "приложения", я предполагаю, что вы на самом деле имеете в виду список приложений, и нет никакого реального способа изменить это программно, так как этот список "принадлежит" пользователю.

Если вы хотите пойти по недокументированному хакерскому пути, вы можете использовать IContextMenu для конкретного файла.lnk и вызвать команду "Удалить из этого списка".

В XP использование приложения меню "Пуск" хранится в папке HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist{75048700-EF1F-11D0-9888-006097DEACF9}, но проводник кэширует эти записи, поэтому вы не можете просто удалить ключ без убийца исследователь первым.

В реестре удалите ненужные вещи. Ключ HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs

Другие вопросы по тегам