#toast #notifications #notify #windows

winrt-toast

为Windows 10和11提供的托盘通知库

2个版本

0.1.1 2022年8月14日
0.1.0 2022年8月13日

Windows API中排名第178

每月下载量22

MIT许可证

36KB
658

winrt-toast

主要可用于绑定Windows的ToastNotification API。

示例

use winrt_toast::{Toast, Text, Header, ToastManager};
use winrt_toast::content::text::TextPlacement;

let manager = ToastManager::new(crate::AUM_ID);

let mut toast = Toast::new();
toast
    .text1("Title")
    .text2(Text::new("Body"))
    .text3(
        Text::new("Via SMS")
            .with_placement(TextPlacement::Attribution)
    );

manager.show(&toast).expect("Failed to show toast");

// Or you may add callbacks
manager.show_with_callbacks(
    &toast, None, None,
    Some(Box::new(move |e| {
        // This will be called if Windows fails to show the toast.
        eprintln!("Failed to show toast: {:?}", e);
    }))
).expect("Failed to show toast");

待办功能

  • 操作中的按钮样式和工具提示
  • 更好的回调
  • 声音
  • 自适应内容和数据绑定
  • 组和子组

lib.rs:

主要可用于绑定Windows的ToastNotification API。

示例

use winrt_toast::{Toast, Text, Header, ToastManager};
use winrt_toast::content::text::TextPlacement;

let manager = ToastManager::new("YourCompany.YourApp");

let mut toast = Toast::new();
toast
    .text1("Title")
    .text2(Text::new("Body"))
    .text3(
        Text::new("Via SMS")
            .with_placement(TextPlacement::Attribution)
    );

manager.show(&toast).expect("Failed to show toast");

// Or you may add callbacks
manager.show_with_callbacks(
    &toast, None, None,
    Some(Box::new(move |e| {
        // This will be called if Windows fails to show the toast.
        eprintln!("Failed to show toast: {:?}", e);
    }))
).expect("Failed to show toast");

依赖项

~131MB
~2M SLoC