Мне нужно написать некоторый код для отображения собственного уведомления Windows 10, чтобы получить сообщение от пользователя, а затем отправить его при нажатии кнопки действия.
Это часть макета уведомления в xml:
<actions>
<input id='textBox' type='text' placeHolderContent='write text' />
<action content='yes' arguments='action1' />
</actions>
Этот код позволяет узнать, какая кнопка действия была нажата при проверке свойства аргумента. Однако мне нужно извлечь текстовое поле здесь. Есть идеи?
EventRegistrationToken activatedToken;
HRESULT hr = notification->add_Activated(
Callback < Implements < RuntimeClassFlags<ClassicCom>,
ITypedEventHandler<ToastNotification*, IInspectable* >> >(
[eventHandler](IToastNotification*, IInspectable* inspectable)
{
IToastActivatedEventArgs *activatedEventArgs;
HRESULT hr = inspectable->QueryInterface(&activatedEventArgs);
if (SUCCEEDED(hr)) {
HSTRING argumentsHandle;
hr = activatedEventArgs->get_Arguments(&argumentsHandle);
if (SUCCEEDED(hr)) {
PCWSTR arguments = Util::AsString(argumentsHandle);
if (arguments && *arguments) {
eventHandler->toastActivated((int)wcstol(arguments, NULL, 10));
return S_OK;
}
}
}
eventHandler->toastActivated();
return S_OK;
}).Get(), &activatedToken);