パスワードを忘れた? アカウント作成
209439 journal

airheadの日記: memo: Windows 7 の 「最近使ったもの」

日記 by airhead

タスクバー(ジャンプリスト)とスタートメニューの「いつも表示」「最近使ったもの」は共通で、アプリごとに下のフォルダ内のファイルに格納されている。

%AppData%\Microsoft\Windows\Recent\AutomaticDestinations
%AppData%\Microsoft\Windows\Recent\CustomDestinations

この2つのフォルダは、ExplolerではRecentフォルダを開いても見えないが、表示が抑止されているだけで特別な属性は付いてない。dirコマンドでは表示される。Explolerでも上記パスをアドレスバーに入れれば表示される。

それぞれのフォルダに入っている以下のファイルがリスト情報を格納している。ファイル名の16進数がキーとなってアプリごとに対応している。「いつも表示」の項目も拡張子automatic...のほうに入っているようだ。拡張子custom...はWin7対応アプリでのリスト拡張のためだろうか(IE8・WMP・Operaなど)。

16桁の16進数.automaticDestinations-ms
16桁の16進数.customDestinations-ms
(Recentフォルダで dir /s *.*-ms で全表示)

ファイルの属性を読み取り専用にすれば、そのアプリのみリスト項目が無効になるようだ。たとえば読み取り専用で自動更新停止、隠しファイルで無効とするほうが合っているような気がするが、隠しファイルにしても動作は変わらないので、意図せぬ動作かもしれない。再ログオンなどでのExplorer再起動は不要。読み取り専用を解除すると無効前のリスト項目が復帰する。無効時の動作は以下のとおり。

  • スタートメニューの場合
    右向き三角ボタンは残るが、押しても何も起こらなくなる
  • タスクバーの場合
    標準メニューの「アプリ名(起動)」「このプログラムを表示しない」「ウィンドウを閉じる」は残るが、「いつも表示」「最近使ったもの」は表示されなくなる

キーとアプリの対応の調べ方は面倒。リストが更新される操作を行って、ファイルの更新日時であたりをつけて、それらしいファイルを別フォルダに移動して、リストの動作を確認、という手順をとった。もっと簡単な方法があるかもしれないけど不明。以下は手元の環境 Windows 7 Pro X64 で確認したもの。

Explorer
  1b4dd67f29cb1962
EmEditor Free (C:\Program Files (x86)\EmEditor\EmEditor.exe)
  84d2723ef5ccceb8

1b4dd67f29cb1962 でウェブ検索したら関連記事が出てきたので、個別の環境に依存しないようだ。標準的なインストールで一定になる実行ファイルのフルパスのハッシュをキーにしている、とかだろうか。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

皆さんもソースを読むときに、行と行の間を読むような気持ちで見てほしい -- あるハッカー

読み込み中...