我正在尝试将Windows 10通知的通用包装作为DLL编写。我设法编写了一个DLL,该DLL几乎可以执行API提供的所有功能,但我无法获得将其移至操作中心的通知。据我所知,我需要注册一个COM INotificationActivationCallback才能将通知保留在操作中心,尽管我不明白为什么。
我希望可以从较旧的MinGW编译代码库中访问此库,因此,已经基于使用C样式函数访问C ++类而制作了API。支持的实现如下,为简洁起见,省略了一些错误处理和其他细节。
frameHeight
除了提到的缺少Action Center持久性之外,这非常有效。由于DLL是通用的(不特定于我的一个应用程序),所以我想避免将COM激活激活到DLL中。我不需要在呼叫过程的整个生命周期内都保留通知,但是如果5秒钟后通知没有永远消失,那就太好了。
如果需要,我可以使用Visual Studio 2017解决方案创建要点。
答案 0 :(得分:1)
为了在桌面上使用通知API,它既需要注册的COM服务器,也需要Shell快捷方式。我不知道为什么这样做是必要的,但是据我所知,这是使它起作用的唯一方法。这个问题经常出现,所以我在这里写了一个简单的C ++ / WinRT示例:
https://gist.github.com/kennykerr/d983767262118ae0366ef1ec282e428a
希望有帮助。