Как получить текст из текстового поля родного уведомления Windows? - PullRequest
0 голосов
/ 08 мая 2019

Мне нужно написать некоторый код для отображения собственного уведомления 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);
...