我想制作一个提醒,以便一个月后出现带有声音信号的通知。在 Windows 任务计划程序中,您无法发送带有蜂鸣声的消息(仅限消息)。起初我想使用这样的 VBScript 并将其添加到 Windows 启动中:
Const minutes = 44640
Do While MsgBox("Reminder", vbOKOnly + vbExclamation, "Reminder")
WScript.Sleep(minutes * 60 * 1000)
Loop
但这无法实现。据我所知,使用 VBScript 也不可能实现,因为计算机关闭后倒计时会不断重置。
答案1
选项 1:使用 Microsoft To Do
最简单的解决方案之一是使用微软待办。如果您使用“待办事项”设置了提醒,它将在指定的日期和时间弹出带有声音的提醒通知。
选项 2:使用可以播放声音的脚本
您可以通过以下方式设置脚本在指定的日期和时间运行任务计划程序。只需确保将其设置为运行仅当用户登录时。播放声音有多种选项...
提醒器.vbs
这是一个 VBS 脚本,可弹出消息并播放声音文件。添加可vbSystemModal
确保您的消息位于所有其他窗口的顶部。262144
如果您不希望在对话框标题中显示图标,则可以使用 代替 vbSystemModal。
命令:wscript.exe reminder.vbs
Set Sound = CreateObject("WMPlayer.OCX")
Sound.URL = "C:\Windows\Media\Alarm01.wav"
MsgBox "Reminder", vbOKOnly + vbExclamation + vbSystemModal, "Reminder"
提醒.ps1
这是一个 PowerShell 脚本,它将显示带有声音的 toast 通知。
命令:powershell.exe -ExecutionPolicy ByPass reminder.ps1
function Show-Notification {
[cmdletbinding()]
Param (
[string]
$ToastTitle,
[string]
[parameter(ValueFromPipeline)]
$ToastText
)
[Windows.UI.Notifications.ToastNotificationManager, Windows.UI.Notifications, ContentType = WindowsRuntime] > $null
$Template = [Windows.UI.Notifications.ToastNotificationManager]::GetTemplateContent([Windows.UI.Notifications.ToastTemplateType]::ToastText02)
$RawXml = [xml] $Template.GetXml()
($RawXml.toast.visual.binding.text|where {$_.id -eq "1"}).AppendChild($RawXml.CreateTextNode($ToastTitle)) > $null
($RawXml.toast.visual.binding.text|where {$_.id -eq "2"}).AppendChild($RawXml.CreateTextNode($ToastText)) > $null
$SerializedXml = New-Object Windows.Data.Xml.Dom.XmlDocument
$SerializedXml.LoadXml($RawXml.OuterXml)
$Toast = [Windows.UI.Notifications.ToastNotification]::new($SerializedXml)
$Toast.Tag = "Time remaining"
$Toast.Group = "Time remaining"
$Toast.ExpirationTime = [DateTimeOffset]::Now.AddMinutes(1)
$Notifier = [Windows.UI.Notifications.ToastNotificationManager]::CreateToastNotifier("Time remaining")
$Notifier.Show($Toast);
}
Show-Notification "Put your reminder messsage here"
提醒.hta
以下是显示消息并播放 MP3 文件的 HTA 脚本:
命令:mshta.exe reminder.hta
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=9">
<hta:application
maximizeButton=no
minimizeButton=no
contextmenu=no
showintaskbar=no
scroll=no
>
<script language=VBScript>
Window.ResizeTo 600,200
</script>
</head>
<body>
<h2>Put your reminder message here</h2>
<audio src="Test.mp3" autoplay>
</body>
</html>