Toast-уведомления Windows: подробное руководство с примерами кода

Всплывающие уведомления Windows предоставляют эффективный способ отображения кратких, ненавязчивых сообщений пользователям платформы Windows. Независимо от того, разрабатываете ли вы настольное приложение или приложение для универсальной платформы Windows (UWP), в этой статье будут рассмотрены различные методы отправки всплывающих уведомлений, а также примеры кода, которые помогут вам их реализовать.

Метод 1: использование Windows.UI.Notifications API (UWP)

using Windows.UI.Notifications;
using Microsoft.Toolkit.Uwp.Notifications;
public void SendToastNotification()
{
    ToastContent content = new ToastContent()
    {
        Visual = new ToastVisual()
        {
            BindingGeneric = new ToastBindingGeneric()
            {
                Children =
                {
                    new AdaptiveText()
                    {
                        Text = "Hello, World!"
                    }
                }
            }
        }
    };
    ToastNotificationManager.CreateToastNotifier().Show(new ToastNotification(content.GetXml()));
}

Метод 2: использование API Windows.Data.Xml.Dom (Win32)

using Windows.Data.Xml.Dom;
public void SendToastNotification()
{
    XmlDocument toastXml = new XmlDocument();
    string xmlString = $@"
        <toast>
            <visual>
                <binding template='ToastGeneric'>
                    <text>Hello, World!</text>
                </binding>
            </visual>
        </toast>";
    toastXml.LoadXml(xmlString);
    ToastNotification toast = new ToastNotification(toastXml);
    ToastNotifier notifier = ToastNotificationManager.CreateToastNotifier("AppUserModelId");
    notifier.Show(toast);
}

Метод 3. Использование Windows PowerShell

[Windows.UI.Notifications.ToastNotificationManager, Windows.UI.Notifications, ContentType = WindowsRuntime] | Out-Null
[Windows.Data.Xml.Dom.XmlDocument, Windows.Data.Xml.Dom.XmlDocument, ContentType = WindowsRuntime] | Out-Null
$xml = @"
    <toast>
        <visual>
            <binding template='ToastGeneric'>
                <text>Hello, World!</text>
            </binding>
        </visual>
    </toast>
"@
$toastXml = New-Object Windows.Data.Xml.Dom.XmlDocument
$toastXml.LoadXml($xml)
$toast = New-Object Windows.UI.Notifications.ToastNotification($toastXml)
$notifier = [Windows.UI.Notifications.ToastNotificationManager]::CreateToastNotifier("AppUserModelId")
$notifier.Show($toast)

В этой статье мы рассмотрели несколько способов отправки всплывающих уведомлений Windows. Первые два метода демонстрируют, как использовать API Windows.UI.Notifications для приложений UWP и API Windows.Data.Xml.Dom для приложений Win32. Кроме того, мы продемонстрировали, как отправлять всплывающие уведомления с помощью Windows PowerShell. Используя эти методы и соответствующие примеры кода, вы можете легко интегрировать всплывающие уведомления Windows в свои приложения, обеспечивая удобство работы с пользователем.