【问题标题】:Making a Windows Taskbar Jump-List in Java用 Java 制作 Windows 任务栏跳转列表
【发布时间】:2011-04-16 11:40:46
【问题描述】:

我知道以下几件事,并且想知道是否可以将它们组合起来以使 Java 在 Windows 中使用跳转列表:

  1. 当右键单击任务栏图标时,Windows 会显示支持程序的跳转列表
  2. C++、C#、F# 和 VB 原生支持此功能(如图所示 here
  3. Java 可以使用 JNA 导入本机功能(如图所示 here

谁有经验可以帮助我为 Java 应用创建跳转列表?

J7Goodies 库将无法工作,因为它不再存在。

【问题讨论】:

  • 除了在 Eclipse 中指出错误号 293226 - bugs.eclipse.org/bugs/show_bug.cgi?id=293226 的方向之外,我无能为力。这个父 bug 的依赖树是一个很好的起点。
  • 这对我一点帮助都没有......
  • 查看子错误 293229。我不确定其中一篇文章中的代码补丁是否会有所帮助,但这可能是一个不错的起点。
  • 不,这似乎只是 Eclipse 的一个错误修复,实际上并没有处理 Java 中的跳转列表。

标签: java windows-7 jump-list


【解决方案1】:

“本地”这个词有点夸大了这种情况。 WPF 提供跳转列表支持。这与 C# 提供的不同。 (对于 Windows 窗体的人来说,代码包是一组托管包装器。)MFC 提供跳转列表支持,这也与 C++ 提供的不同。无论如何,这里发生了两件事。一种是将您最近打开的文件添加到该跳转列表中,在某些情况下您可以免费获得。另一种是将任意文件(通常是起点模板等)添加到跳转列表。

要将文件添加到最近/常用列表,您可以调用SHAddToRecentDocs,但您可能不必这样做,例如,您使用通用文件对话框控件打开文件,和/或用户双击文件以启动您的应用程序并打开它们(您已注册文件类型。)很多人建议无论如何都调用它以确保安全。要将任何旧内容添加到跳转列表,请参阅 http://msdn.microsoft.com/en-us/library/dd378402(v=VS.85).aspx

如何从 Java 中调用它们,我忘记了,但我希望它们能帮助你入门。

【讨论】:

  • 感谢您的帮助。 SWT 似乎没有确切的方法 SHAddToRecentDocs。有没有其他方法可以做到这一点?
  • 它是 Shell32.dll 中的一个 Windows API 函数 - 所以您想使用 JNA 或任何当前“我需要调用底层平台的本机函数”机制来调用该函数。跨度>
【解决方案2】:

有一个 Java 库为 Java 提供了新的 Windows 7 功能。它被Strix Code 称为J7Goodies。您可以使用它创建自己的跳转列表。

【讨论】:

  • 您试图在没有有效许可证的情况下使用它,这就是它不起作用的原因。您不能通过将其从演示应用程序中取出来使用该库。
  • 好吧,我不会支付超过 200 美元来以我已经可以的方式使用我的电脑。你有免费的替代品吗?
  • 对不起,我不知道有什么替代商业或免费的。
  • 复活,现在有免费的替代品吗?
  • 我不得不不接受这个答案,因为 J7Goodies 似乎不再存在:/
猜你喜欢
  • 2012-12-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-10
  • 1970-01-01
  • 2011-04-19
  • 2013-10-26
  • 2016-02-17
相关资源
最近更新 更多