簡體   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