Windows 7任务栏 - 跳转列表,跳转链接和跳转列表项

时间:2009-11-23 17:31:15

标签: c# windows-7 taskbar

我正在使用适用于Microsoft .NET Framework的Windows API代码包来试用Win7任务栏的一些新UI功能。我在C#编码。

我对跳转列表有疑问。提供的所有示例代码都假定跳转列表上的条目用于调用以运行特定应用程序或打开文档,例如, MRU列表中的文本文档或运行mspaint.exe。

我想实现一些允许我在自己的应用程序中设置状态的项目(即与任务栏交互的应用程序)。例如,当您可以设置状态(忙,离线等)时,MSN Messenger会执行此操作。

尽我所能,我无法创建JUmpListItem或JumpListLink以这种方式运行 - 它将它们视为应用程序或文档。

有没有人有任何关于如何创建在创建它的同一应用程序中引发事件的项目的示例?我相信这很简单,但我非常愚蠢。

非常感谢你的帮助。

3 个答案:

答案 0 :(得分:1)

我相信你想做的是用一组特殊的标志调用你的应用程序(即用某些参数启动可执行文件)。在应用程序启动时,您将检查是否设置了标志,然后将消息发送到应用程序的主实例,然后退出新实例。

答案 1 :(得分:0)

使用TaskBarDemo,打开由应用程序创建的项目必须被引用,即如果您的程序创建了PDF文件,您将执行此操作:

jumpList.AddUserTasks(new JumpListLink(Path.Combine(systemFolder, "C:\\Program Files\\Adobe\\Reader 9.0\\Reader\\AcroRD32.exe"), "Open Adobe Reader")
        {
            IconReference = new IconReference(Path.Combine(systemFolder, "C:\\Program Files\\Adobe\\Reader 9.0\\Reader\\AcroRD32.exe"), 0)
        });

否则,您必须确保您的应用程序注册了最近或频繁项目的文件关联。

我在使用API​​ Pack的跳转列表时遇到了一些问题,我现在使用VS 2010 Beta 2并让shell处理跳转列表。

希望这有用。

答案 2 :(得分:0)

这些任务是某种IShellLink。然后,您应该调用ICustomDestinationList的AddUserTasks。在Windows 7 Training Kit中查找示例。

相关问题