从桌面应用程序使用Windows 8 Toast通知

时间:2012-12-13 16:37:12

标签: c++ winapi windows-8 notifications toast

我开发了一个桌面应用程序,这是一个简单的Windows版.exe。

在Windows 8上运行正常。

我现在尝试使用“吐司通知”来向用户显示一些警告。

所以我使用Microsoft示例进行了培训,可在此处获取:http://code.msdn.microsoft.com/windowsdesktop/sending-toast-notifications-71e230a2/

它工作正常,但我必须创建一个我的应用程序的快捷方式来使用Toast通知。

我尝试删除快捷方式创建,但它不起作用。我理解,因为对于桌面应用程序,快捷方式是Toast通知的先决条件,您可以在Microsoft网站上阅读:http://msdn.microsoft.com/en-us/library/windows/apps/hh802768.aspx

我的问题很简单。如果用户决定删除快捷方式(在他的个人资料文件夹中是.lnk),如何在没有此快捷方式的情况下使我的Toast通知正常工作?

如果没有创建快捷方式,我不希望每次都在运行时创建快捷方式,因为用户决定删除它,并且每次创建时都不正确。

那么,有没有办法在没有快捷方式的情况下从桌面应用程序使用Toast通知?

1 个答案:

答案 0 :(得分:1)

你引用的documentation似乎很清楚:

  

应用程序的快捷方式必须是System.AppUserModel.ID   安装到“开始”屏幕。但请注意,它不需要   固定到“开始”屏幕。有关更多信息,请参见如何启用   通过AppUserModelID发送桌面Toast通知。

请注意,“固定”和“已安装”之间存在区别,如果您可以在不固定的情况下安装(不确定是否可以),则用户不太可能找到并删除它。

也就是说,从来没有任何保证捷径可以存在。也许您的应用程序在启动时(或随时)可以检测到快捷方式已经消失,并且“轻轻地”通知用户他们的应用体验将不是最佳状态,然后提供恢复快捷方式(您可以通过编程方式执行)。

请注意,用户始终可以按应用或系统范围关闭应用上的通知,因此删除快捷方式只是最终用户可能无法看到通知的方式之一。