2011-01-13 8 views
2

Windows 7のスタートメニューから最近起動したアプリケーションをプログラムでクリーンアップする方法はありますか?クリーンWindows 7スタートメニューMRUリスト

Winodws 7スタートメニューの対応する項目が削除されるように、削除するレジストリエントリやファイルを探しています。

答えて

0

今、これは私の質問のためのソリューションです:

私はレジストリキー

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 

下の値はその後、私はExplorer.exeののキャッシュを更新するために、次のPInvokeを実行クリーン:

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

よろしく、 Boris

-1

レジストリで、不必要なものを削除します。キーはHKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs

+0

これは半分の仕事で、最近のドキュメントのシェルフォルダにはショートカットがいっぱいです – Anders

+0

ありがとうございます! Windows 7の[スタート]メニューから最近起動したアプリケーション項目を削除する方法を見つける方法を探したいのですが。 – Boris

2

SHAddToRecentDocs(SHARD_PIDL、NULL)が最近の文書をクリアするための文書化された方法であり、suryaが示唆するようにレジストリを乱さないでください。

あなたの質問には「アプリケーション」という言葉が含まれているので、あなたは実際にアプリケーションのリストを意味していると思いますので、そのリスト"belongs" to the user以降はプログラムで修正する方法はありません。

文書化されていないハッキールートに行きたい場合は、特定の.lnkのIContextMenuを使用して、「このリストから削除」コマンドを呼び出すことができます。

XPでは、スタートメニューアプリケーションの使用方法はHKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ UserAssist {75048700-EF1F-11D0-9888-006097DEACF9}に保存されますが、エクスプローラはこれらのエントリをキャッシュします最初にエクスプローラを殺さずにキーを削除してください。

+0

こんにちは! Windows 7の[スタート]メニューから最近起動したアプリケーション項目を、レジストリ内のUserAssistキーを消去して、きれいにしました。 Unfortunatelly Explorer.exeキャッシュを更新するためにExplorer.exeを再起動する必要がありました。 exeplorer.exeのキャッシュをリフレッシュするためのよりよい方法がありますか? – Boris

関連する問題