【问题标题】:C# trigger windows 10 media notificationC#触发windows 10媒体通知
【发布时间】:2017-12-18 05:42:28
【问题描述】:

如何将这些 Windows 10“媒体通知”实现到 C# WPF 桌面应用程序中?

【问题讨论】:

  • 我也问过同样的问题。我已经在互联网上进行了很多研究,因此我完全没有发现任何东西(我的意思是不需要我花费数周时间才能完成的解决方案)我放弃了。我真的很好奇是否有人会有解决方案。
  • @L.Guthardt 真的! microsoft 自己有关于 toast 通知的非常详细的文档,但对这些媒体通知只字不提
  • Tbh 我认为你必须是个极客,并且需要对 Windows 本身有非常深入的了解才能操作它们的音量滑块。
  • 是的,Spotify 是我所知道的唯一能做类似事情的应用程序。我的意思是有任何简单的教程可以为 UWP 做这件事,但一方面我不想要 UWP,另一方面我不知道如何将通知绑定到 Windows 音量滑块。

标签: c# wpf windows-10


【解决方案1】:

你说的是SystemMediaTransportControls 类。它在Microsoft Docs 上描述了它的用法。

但是,此 API 是为 UWP 设计的,因此要使其在 WPF 等常规桌面应用程序中工作需要做更多工作。 StackOverflow 上的 some answers 描述了如何执行此操作,但也有一些来自 Microsoft 的更新的官方 documentation 关于如何使用这些 WinRT API。

很遗憾,桌面应用 [5] 不直接支持 System Media Transport Controls API,因此它变得有点复杂,如本文所述 [6]。


简而言之,对于 .NET 5:

  1. 安装您喜欢的版本的 Windows 10 SDK(例如通过 VS 安装程序);

  2. 将目标框架更改为您安装的 SDK 版本,例如net5.0-windows10.0.19041.0.

  3. 使用 [6] 中所述的 API 互操作来获取实例。

    对于 SMTP,您需要使用 Windows.Media.SystemMediaTransportControlsInterop。这需要窗口句柄,您可以在 WPF 中使用WindowInteropHelper 获得。

  4. 使用 [2] 中所述的 SystemMediaTransportControls 实例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-16
    • 1970-01-01
    • 2016-06-24
    • 2016-12-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多