关于delphi:为弹出任务栏窗口添加功能

Adding functionality to popup taskbar window

不知道如何表达,但 win7/win8 允许固定到任务栏。当一个应用程序正在运行并且您将鼠标悬停时,会弹出一个窗口,显示一个微型应用程序屏幕。

使用 winamp 和 MP3 文件播放,而不是显示应用程序窗体,它会弹出带有小导航栏的窗口,以允许暂停、快进等播放。

我想对我的应用程序做类似的事情,而不是暂停任何东西,但我想用几个按钮在弹出窗口中添加一些工作功能。

我该怎么做呢?


您描述的大部分内容(包括预览窗口上的按钮)都是使用 Windows 7 及更高版本中的 ITaskbarList3 COM 接口完成的。

有一个关于在任务栏中显示进度条的问题;这两个答案目前有一些相关链接,包括一些示例和开源 Delphi 组件。请注意,使用这样的旧版本的 Delphi 实现这可能对您来说要困难得多;较新的版本在 RTL 中已经为您提供了定义和类型,这大大简化了 COM 的使用。

正如 Remy 在评论中指出的那样,XE6 包含一个新的 VCL 组件,TTaskbar(见注释),这使得添加这些按钮非常简单。您只需在表单上放置一个组件,使用 TTaskbar.TaskbarButtons 属性编辑器添加按钮,为每个按钮分配一个 TAction 和图标,然后就完成了。

注意:TTaskbar 文档链接此时没有有意义的内容,因为该组件位于新发布的 XE6(本周发布)中。我将其添加为未来读者的参考点;希望当他们看到它时,该链接将包含一些有用的详细信息。