如何将最近的项目添加到Windows 7任务栏上的程序跳转列表中?

时间:2011-04-27 15:38:32

标签: delphi windows-7 taskbar delphi-xe jump-list

我正在使用Delphi XE,并希望在我的应用程序的Windows 7任务栏跳转列表中添加“最近项目”,例如右键单击Microsoft Word会显示最近打开的文档。 我已经找到了有关如何设置进度但没有关于跳转列表项的信息。任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:7)

例如,如果您仅使用标准Windows文件对话框,则会自动执行此操作。至少我的文本编辑器Rejbrand Text Editor已经获得了Windows的这样一个MRU列表。它列出了我最近使用Rejbrand Text Editor编辑的所有文件,即使我还没有为它编写任何代码。

Windows 7 jump list http://privat.rejbrand.se/rtejump.png

我认为Windows会观察您

的文件
  • 通过标准Windows文件对话框打开并保存在您的应用程序中
  • 通过启动yourapp.exe <file name>在您的应用程序中打开,例如双击应用程序中打开的文件

并自动在列表中显示这些内容。

如果要以编程方式控制任务栏按钮和菜单,可以使用Windows API。特定于Delphi的示例可在this blog post中找到。

答案 1 :(得分:4)

在我看来,最好的方法是进行以下简单的API调用:

  SHAddToRecentDocs(SHARD_PATH, PChar(FileName));

这不仅处理Windows 7跳转列表,而且还将您的文件添加到系统的最近使用的文档列表中,这些文档也会对早期版本的Windows产生影响。

无论何时打开或保存文件,都要调用该函数。

为方便起见,指向SHAddToRecentDocs()

文档的链接

答案 2 :(得分:1)