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

The*_*One 5 c++ winapi notifications toast windows-8

我开发了一个桌面应用程序,这是一个简单的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通知?

Jim*_*eil 1

您引用的文档似乎很清楚:

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

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

也就是说,永远不能保证捷径一定会存在。也许您的应用程序在启动时(或每当)可以检测到快捷方式已消失,并“温和地”通知用户他们的应用程序体验将达不到最佳状态,然后提供恢复快捷方式(您可以通过编程方式执行此操作)。

请记住,无论如何,用户始终可以逐个应用程序或在系统范围内关闭应用程序上的通知,因此删除快捷方式只是最终用户可能看不到您的通知的方式之一。