Я пытаюсь узнать, как показывать уведомления Toast из моей программы, которая является родным консольным приложением c ++, зарегистрированным как служба Windows.
Я узнал, что тосты являются частью компонентов пользовательского интерфейса Windows; Значит ли это, что я должен разработать компонент GUI для своего продукта, чтобы иметь возможность отправлять тосты?
Да, возможно, можно проверить эту ссылку Вот
Определенные классы WinRT можно использовать из настольных приложений, включая части пространства имен Windows.UI. API уведомлений о тостах — один из таких примеров — они могут использоваться как приложениями Магазина Windows, так и приложениями для настольных компьютеров.
Вы должны проверить этот. Чистый неуправляемый с ++ & COM.
Я разработал WinToast, библиотека, написанная на C ++ для легкой интеграции Windows Toast Notification. Я использовал его для интеграции уведомлений Toast в различные проекты, особенно с Qt Framework.
Нативное уведомление о тосте нуждается в некоторых функциях Com Основы которые доступны только в современной версии Windows (минимально поддерживаемый клиент: Windows 8).
Вот почему библиотека загружает все необходимые библиотеки динамически. Сделайте ваше приложение совместимым со старыми версиями Windows, используя WinToast. Прилагается пример, объясняющий, как использовать его в хранилище.
Чтобы показать тост, просто создайте шаблон и ваш собственный обработчик и запустите его:
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!";
}