Windows 7任务栏 - 跳跃列表、跳跃列表链接和跳跃列表项

3
我正在使用Windows API Code Pack for Microsoft .NET Framework尝试Win7任务栏的一些新UI功能,我是用C#编写代码。
我的问题与jumplists有关。所有提供的示例代码都假定跳转列表上的条目用于调用运行特定应用程序或打开文档,例如MRU列表中的文本文档或运行mspaint.exe。
我想实现一些允许我在自己的应用程序中设置状态的项目(即与任务栏交互的应用程序)。例如,当您可以设置您的状态(繁忙、离线等)时,MSN Messenger就会这样做。
无论我怎么尝试,我都无法创建一个JUmpListItem或JumpListLink来以这种方式行为 - 它将它们视为应用程序或文档。
有没有人有任何样本,可以创建一个在创建它的同一应用程序中引发事件的项目?我相信这很简单,但我很傻。
非常感谢您的帮助。

这篇关于CodeProject的文章可能对你有所帮助 这里 - t0mm13b
3个回答

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处理跳列表。

希望这对您有所帮助。


谢谢,但我不想在外部实例化任何东西,我只是想在我的应用程序内发送一个事件 - 就像一个漂亮的上下文菜单一样。使用Jumplists可以实现这个吗? - mrbouffant

0
这些任务类似于IShellLink。然后,您应该调用ICustomDestinationList的AddUserTasks方法。在Windows 7培训套件中查找示例。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接