Очистить Windows 7 Пуск Меню MRU Список - PullRequest
2 голосов
/ 13 января 2011

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

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

Ответы [ 3 ]

2 голосов
/ 14 января 2011

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

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

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

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

0 голосов
/ 14 января 2011

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

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

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

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

0 голосов
/ 13 января 2011

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

...