是否可以从c ++ Windows服务发送Windows Toast通知?

时间:2015-05-27 13:23:11

标签: c++ windows windows-services toast

我正在尝试学习如何从我的程序中显示Toast通知,该程序是注册为Windows服务的本机c ++控制台应用程序。

我了解到Toasts是Windows运行时UI组件的一部分;这是否意味着我必须为我的产品开发一个GUI组件才能发送Toasts?

2 个答案:

答案 0 :(得分:2)

我开发了WinToast,一个用C ++编写的库,可以轻松集成Windows Toast Notification。我用它来在不同的项目中集成Toast通知,特别是与Qt Framework。

本机Toast通知需要Com Fundamentals的某些功能,这些功能仅在现代版本的Windows(最低支持的客户端:Windows 8)中可用。

这就是库动态加载所有必需库的原因。使用WinToast使您的应用程序与旧版Windows兼容。附加说明如何在存储库中使用它。

要显示祝酒词,只需创建模板和自定义处理程序并启动它:

WinToastHandlerExample* handler = new WinToastHandlerExample;
WinToastTemplate templ  = WinToastTemplate(WinToastTemplate::ImageWithTwoLines);
templ.setImagePath(L"imagepath");
templ.setTextField(L"firstline", 0);
templ.setTextField(L"secondline", 1);

if (!WinToast::instance()->showToast(templ, handler)) {
   std::wcout << L"Could not launch your toast notification!";
}

答案 1 :(得分:0)

是的,可以查看此链接Here 某些WinRT类可以从桌面应用程序中使用,包括Windows.UI命名空间的部分。 Toast通知API就是这样一个例子 - 它们可以被Windows应用商店应用和桌面应用使用