我想找出最近发出烤面包通知的程序的AppId。我使用的是PowerShell,但如有必要,可以使用C#和其他语言查看示例。
在PowerShell中,可以使用Get-StartApps
来获取每个应用程序的AppId列表。对列表进行视觉匹配检查是一种解决方法,但是有没有更好的方法来获取仅烘烤的特定应用?
ToastNotificationManager.History.GetHistory之类的方法听起来很有前途,但是它需要一个特定的标签,我也不知道该如何获得。
我用ToastNotificationManager.History.Clear
作为概念证明:
[Windows.UI.Notifications.ToastNotificationManager, Windows.UI.Notifications, ContentType = WindowsRuntime] | Out-Null
[Windows.UI.Notifications.ToastNotification, Windows.UI.Notifications, ContentType = WindowsRuntime] | Out-Null
[Windows.UI.Notifications.ToastNotificationManager]::History.Clear('Microsoft.XboxApp_8wekyb3d8bbwe!Microsoft.XboxApp')
例如,这会清除Xbox应用程序中的所有通知。我将其从Win 10 app: remove toast notification的答案中进行了修改,并进行了一些尝试和错误...在无法弄清楚标签之后,我看到History.Clear可以通过AppId传递。
如果我想做的就是将其应用于特定的已安装应用程序就很好了(如果确实搜索Get-StartApps
是获取其AppId的唯一方法)。但是即使那样,如果它不在列表中,例如Windows内置的“安全和维护”,该怎么办?如何获取该AppId?
(如果有人知道如何获得烤面包的标签,那也很高兴知道。)
答案 0 :(得分:0)
用于通知的应用程序ID似乎存储在:HKCU:\ Software \ Microsoft \ Windows \ CurrentVersion \ Notifications \ Settings
请记住以启动通知的用户身份运行它。这只会给您ID的第一部分-而是一个开始。