Очистить 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