powershell 吐司通知消失后几秒钟,如何举行,直到采取任何行动显示?

zdwk9cvp  于 12个月前  发布在  Shell
关注(0)|答案(1)|浏览(154)

我正试图使一个小的PowerShell程序在登录后显示吐司通知.我想自定义烤面包通知将留在那里,直到用户关闭它.但但它很快消失.(约5秒)
我该怎么做?
脚本:

Import-Module BurntToast

$button = New-BTButton -Dismiss -Content "OK"

New-BurntToastNotification -Text 'Yoooo, this is a toast notification... from PowerShell!' -Button $button

字符串

wixjitnu

wixjitnu1#

从v0.8.5开始,使用BurntToast模块中的variety of cmdlets,可以执行以下操作:

Submit-BTNotification -Content (
  New-BTContent -Scenario IncomingCall `
                -Audio (New-BTAudio -Silent) `
                -Visual (
                  New-BTVisual -BindingGeneric (
                    New-BTBinding -Children (New-BTText -Content 'Testing...') `
                                  -AppLogoOverride (
                                    New-BTImage -AppLogoOverride -Crop Circle -Source $env:windir\System32\wpcatltoast.png
                                  )
                  )  
                ) 
)

字符串

  • -Scenario IncomingCall是使通知“粘滞”的关键。
  • New-BTAudio -Silent会在通知首次出现时抑制伴随通知的声音。
  • 如果您不使用此选项,您将得到两个快速连续的 ringing 声音,而不是默认情况下使用的单个声音。
  • 不幸的是,使用New-BTAudio -Source ms-winsoundevent:Notification.Default显式选择默认声音 * 不 * 有效,因为-Scenario IncomingCall似乎会覆盖它(尝试选择任何其他声音也是如此)。

注意事项:

  • 由于默认情况下有一个关闭图标,因此不会创建用于关闭的按钮。
  • 将显示自定义徽标,该徽标显示在文本的左侧。
  • 请注意,您似乎 * 不能 * 自定义通知的 * 标题 * 中的应用程序名称和徽标,当从PowerShell调用时,通知始终显示PowerShell徽标和标题“Windows PowerShell”(即使从 PowerShell(Core) 调用时也是如此)。
  • 虽然this Microsoft Q&A post建议 * 隐式地 * 添加一个按钮会使通知具有粘性,但至少在BurntToast模块的上下文中是这样的,正如您所经历的那样。
  • docs for the underlying .NET APIs建议,ReminderAlarm场景值也会使通知具有粘性,但至少在BurntToast模块的上下文中,这是 * 不 * 正确的;事实上,后者似乎从v0.8.5开始 * 忽略 * 这些-Scenario值,并使用默认通知(与-Scenario Default相同)。
  • 虽然有一种方法可以通过 * 注册表值 * 修改 * 默认显示持续时间 *(即5秒),如下所示,但这需要 * 注销或重新引导 * 才能生效,这意味着您 * 不能 * 在会话中 * 临时 * 更改它,并且它将应用于 * 所有 * 通知(不 * 显式 * 控制其显示持续时间)。
# Set the default display duration to 300 seconds == 5 minutes.
# Requires logoff or reboot to take effect.
Set-ItemPropert 'HKCU:\Control Panel\Accessibility' MessageDuration 300

相关问题