通用应用程序的系统托盘/任务栏图标/通知图标

7

有没有适用于通用应用的API可以创建系统托盘图标,或者这是不允许的?如果是这种情况,我应该使用什么代替,我能否将我的应用程序集成到操作中心中,还是只有微软才能做到?

1个回答

4
抱歉,我认为这是不可能的:唯一的选择是开发一个伴随的win32程序来创建图标并在两者之间建立某种形式的通信(win32应用程序可以启动UWP应用程序,而UWP可以向win32应用程序发送状态信息)。这意味着其中一个问题必须安装另一个问题,这不是微不足道的,并且许多用户不喜欢有后台任务。
我认为你应该尝试适应W10 UX:对于任何状态/通知,请使用实时磁贴,允许固定执行某些操作的次要实时磁贴,并与Cortana集成。
除非您想创建一个单击时执行某些操作的永久通知,否则无法在操作中心中进行集成,但这可能会使用户感到恼火。
编辑(6/24/2017):现在可以使用Win32扩展将此功能添加到UWP应用程序中,请参见this tutorial

4
这太糟糕了。有些我需要访问的API被微软隐藏在UWP应用程序中,为了访问它们,我必须放弃同时也需要的任何w32功能... - Wobbles
@Wobbles 你需要哪些win32功能在UWP中无法使用?此外,你可以使用Project Centennial(https://msdn.microsoft.com/en-us/windows/uwp/porting/desktop-to-uwp-root)从win32中使用UWP API。 - Arcadio Garcia
2
这很愚蠢,我们需要一种方式来向用户直观呈现应用程序仍在后台工作,并能够在关闭主窗口(或所有窗口准确地说)时使用全局热键。同时,我们仍希望轻松分发并与手机应用程序共享逻辑。这些限制没有任何意义。 - zakius
@zakius,你可以使用任务栏徽章/动态磁贴/通知来向用户展示信息,而在应用程序关闭时使用全局热键,在我看来不仅是不必要的,而且如果被滥用还会带来危险。 - Arcadio Garcia
1
@ArcadioGarcia,关键是应用程序没有关闭,只是主窗口关闭了(类似即时通讯),如果主窗口关闭了,就没有地方放置徽章(停靠模式和固定到任务栏都不好,我想支持合理的配置,而不仅仅是像Mac一样的配置)。 - zakius

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