Обрабатывать уведомление о нескольких тостах в Центре поддержки?

Мы используем ссылку ниже, чтобы обработать тост-уведомление от win 10 action center.

«https://blogs.msdn.microsoft.com/tiles_and_toasts/2015/10/16/quickstart-handling-toast-activations-from-win32-apps-in-windows-10/«Мы реализовали« Activate »API INotificationActivationCallback для обработки уведомления о тосте.

А вот к центру действий можно отнести несколько уведомлений. Как однозначно идентифицировать уведомление. мы должны выполнить разные операции для разных уведомлений. Параметр API invokedArgs всегда имеет значение NULL.

0

Решение

Да, проблема решена. Для обработки аргументов вызова в центре действий вам нужно передать аргумент запуска при создании XML-уведомления о тосте.
например

Как и в предыдущем примере, мы передали запуск аргумента invoke со значением «invoke arguments» в заголовке toast. Теперь API-интерфейс «Активировать» вызывается всякий раз, когда пользователь нажимает всплывающее уведомление из центра действий. вы получите тот же параметр в «Активировать функцию вызывать аргументы». Теперь вы можете сравнить значение invoke arg и выполнить действие. Ниже приведен справочный пример и ссылка.

HRESULT NotificationActivator::Activate(PCWSTR /*appUserModelId*/, PCWSTR invokedArgs,
const NOTIFICATION_USER_INPUT_DATA* data, ULONG count)
{
if (invokedArgs == nullptr)
{
// Start my app or just do nothing because COM started the app already.
}
else if (::wcscmp(invokedArgs, L"replyToComment") == 0)
{
ASSERT(count == 1);
ASSERT(::wcscmp(data[0].Key, L"replyToComment") == 0);

DoWorkToReply(data[0].Data);
}

return S_OK;
}

https://blogs.msdn.microsoft.com/tiles_and_toasts/2015/10/16/quickstart-handling-toast-activations-from-win32-apps-in-windows-10/

2

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

Других решений пока нет …

По вопросам рекламы [email protected]