Delphi XE を使用しており、アプリケーションの Windows 7 タスクバー ジャンプ リストに「最近使用したアイテム」を追加したいと考えています。たとえば、Microsoft Word を右クリックすると、最近開いたドキュメントが表示されます。進行状況を設定する方法に関する情報は見つかりましたが、ジャンプ リスト項目に関する情報は見つかりませんでした。どんな助けでも大歓迎です。
3 に答える
これは、たとえば、標準のWindowsファイルダイアログのみを使用する場合に自動的に発生します。少なくとも私のテキストエディタであるRejbrandTextEditorには、WindowsによるそのようなMRUリストがあります。コードをまったく記述していなくても、RejbrandTextEditorを使用して最近編集したすべてのファイルが一覧表示されます。
Windowsはあなたのファイルを監視していると思います
- 標準のWindowsファイルダイアログを使用してアプリケーションを開き、保存します
- アプリケーション
yourapp.exe <file name>
で開くファイルをダブルクリックするなどして、アプリケーションで開きます
これらを自動的にリストに表示します。
タスクバーのボタンとメニューをプログラムで制御する場合は、WindowsAPIを使用できます。Delphi固有の例は、このブログ投稿にあります。
私の意見では、これを行う最善の方法は、次の単純な API 呼び出しを行うことです。
SHAddToRecentDocs(SHARD_PATH, PChar(FileName));
これは、Windows 7 のジャンプ リストを処理するだけでなく、システムの最近使用したドキュメントのリストにファイルを追加します。これは、Windows の初期のバージョンにも影響します。
ファイルを開くか保存するたびに関数を呼び出します。
便宜上、 のドキュメントへのリンクを示しますSHAddToRecentDocs()
。
プログラムをビスタ対応にする際に役立つリソースをいくつか紹介します。
http://code.google.com/p/theunknownones/wiki/TaskbarListComponents http://www.installationexcellence.com/articles/VistaWithDelphi/Index.html http://www.theabsolute.net/sware/delphivista.html