繁体   English   中英

使用 C# 或 WPF 静音 Windows 10 通知

[英]Mute Windows 10 Notification using C# or WPF

我目前正在研究如何使 Windows 10 通知静音,但我还没有找到任何具体的解决方案。

我想要做的是在我按下按钮或选中复选框时禁用所有通知。 它与您在通知设置上所做的类似,但我希望它在我的应用程序上以编程方式进行。

我目前正在阅读微软关于通知监听器的文档。 https://docs.microsoft.com/en-us/windows/uwp/design/shell/tiles-and-notifications/notification-listener

NotificationListener 允许您访问通知,但不能访问系统的配置。 而且你一定认为它是一个UWP Api......你想做一些在UWP Api(不可能)或WPF(可能,祝你好运)中无法完成的事情。

您无法更改 UWP 应用程序框内的系统设置 - 安全和事物 -。 这样做的方法是“打开您希望用户进行更改的配置应用程序”。

如果您不想在 WPF/.net 中使用此功能,则必须认真使用 PInvoke 和 WinApi。 这意味着考虑权限以管理员身份运行,在 WinApi .h 文件中查找功能等...

保持简单,在 UWP 中,不; 在 WPF 中,您必须阅读大量 Windows .h 文件的源代码/文档,制作 C# 版本的结构等...

这里真正的问题是……有必要吗? Windows 通过两次单击提供 Focus Assist(角落、Focus Assist)

我非常感谢您的反馈! 我做了一些修补并找到了负责通知的服务。 我不太相信这是最好的方法,但它对我有用。

我所做的是使用 C# 停止服务。 这是我的示例代码:

  ServiceController[] services = ServiceController.GetServices();

        foreach (ServiceController service in services)
        {
            if (service.ServiceName.Contains(serviceName))
            {
                service.Start();

            }


        }

这是负责通知的服务通知服务

我不知道这是否是一个好习惯,所以我仍然愿意接受反馈和建议。

谢谢!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM