我正在使用 Delphi XE,并希望在我的应用程序的 Windows 7 任务栏跳转列表中添加“最近的项目”,例如右键单击 Microsoft Word 会显示最近打开的文档。我找到了有关如何设置进度的信息,但没有找到关于跳转列表项的信息。任何帮助将不胜感激。
3 回答
例如,如果您只使用标准的 Windows 文件对话框,这将自动发生。至少我的文本编辑器Rejbrand Text Editor有这样一个 Windows 的 MRU 列表。它列出了我最近使用 Rejbrand 文本编辑器编辑的所有文件,即使我根本没有为它编写任何代码。
我认为 Windows 会观察你的文件
- 通过标准 Windows 文件对话框打开并保存在您的应用程序中
- 通过 start
yourapp.exe <file name>
在您的应用程序中打开,例如通过双击在您的应用程序中打开的文件
并自动在列表中显示这些。
如果要以编程方式控制任务栏按钮和菜单,可以使用 Windows API。Delphi 特定示例可在此博客文章中找到。
在我看来,最好的方法是进行以下简单的 API 调用:
SHAddToRecentDocs(SHARD_PATH, PChar(FileName));
这不仅处理 Windows 7 跳转列表,还将您的文件添加到系统的最近使用文档列表中,这对早期版本的 Windows 也有影响。
每当您打开或保存文件时调用该函数。
为方便起见,提供指向SHAddToRecentDocs()
.
以下是我发现在准备好我的程序 vista 时有用的一些资源
http://code.google.com/p/theunknownones/wiki/TaskbarListComponents http://www.installationexcellence.com/articles/VistaWithDelphi/Index.html http://www.theabsolute.net/sware/delphivista.html