Можно ли отправлять уведомления Windows Toast из службы Windows c ++?

Я пытаюсь узнать, как показывать уведомления Toast из моей программы, которая является родным консольным приложением c ++, зарегистрированным как служба Windows.

Я узнал, что тосты являются частью компонентов пользовательского интерфейса Windows; Значит ли это, что я должен разработать компонент GUI для своего продукта, чтобы иметь возможность отправлять тосты?

1

Решение

Да, возможно, можно проверить эту ссылку Вот
Определенные классы WinRT можно использовать из настольных приложений, включая части пространства имен Windows.UI. API уведомлений о тостах — один из таких примеров — они могут использоваться как приложениями Магазина Windows, так и приложениями для настольных компьютеров.

0

Другие решения

Вы должны проверить этот. Чистый неуправляемый с ++ & COM.

2

Я разработал 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!";
}
1
По вопросам рекламы [email protected]