一个c#桌面应用程序在win8.1上发出Toast通知,在升级到win10后就停止发出了

本文关键字:win10 Toast 应用程序 桌面 win8 通知 一个 | 更新日期: 2023-09-27 18:12:06

我有一个c#桌面应用程序,提出Toast通知,它是使用visual studio 2013构建的。在win8.1上一切正常,升级到win10后,应用程序仍然可以工作,除了Toast通知不再被提升。

用于Toast Notification

的代码
ToastNotificationManager.CreateToastNotifier(_appId).Show(toast);
它引用

:

C:'Program Files (x86)'Windows Kits'8.1'References'CommonConfiguration'Neutral'Windows。winmd

和Windows。我在.csproj文件中添加了属性:<TargetPlatformVersion>8.1</TargetPlatformVersion>

这应该在windows 10上仍然工作吗?如果是这样,问题是什么呢?

一个c#桌面应用程序在win8.1上发出Toast通知,在升级到win10后就停止发出了

我让它工作,所以我将分享我的行动和未经证实的理论。要使toast工作,它必须在开始屏幕上有一个快捷方式,并有一个appId映射到它,然后创建一个toast通知器,传递该appId:

ToastNotificationManager.CreateToastNotifier(_appId).Show(toast);

我删除了快捷方式,更改了appid,并重新创建了快捷方式,它工作了,可能只是更改了appid应该足够了。我的未经证实的理论是:原来的代码应该也可以在windows 10上运行,问题是升级。快捷方式和appId是在win 8.1上创建的,在升级到win 10的过程中被改变了,但仍然存在于某个地方(一些缓存,注册表…),这导致了问题,所以在升级后创建一个新的appId来解决它。