TrayTip
在托盘图标附近创建气球提示窗口. 在 Windows 10 中,toast 通知将会替代显示.
TrayTip [, Title, Text, Seconds, Options]
参数
- Title
-
此参数为窗口标题, 可以长达 73 个字符 (超出此长度的字符不会显示出来).
如果 Title 为空, 则会移除气球窗口中的标题行, 这会让它垂直高度变短.
Note: 如果省略所有参数, 则移除任何当前显示的托盘提示窗口.
- Text
-
指定要显示的消息, Title 仅显示 Text 中前 265 个字符.
如果此参数省略或为空, 则移除当前显示的任何托盘提示窗口. 然而, 要隐藏 Windows 10 toast 通知需要 it may be necessary to 临时移除托盘图标.
可以使用回车 (`r) 或换行 (`n) 来创建多行文本. 例如:
Line1`nLine2
.如果 Text 较长, 可以通过 延续片段 的方法将其分解成较短的几行, 这样可以增加可读性和可维护性.
- Seconds
注意: 这参数在 Windows Vista 及之后系统无效.
要窗口显示的近似秒数, 达到这时间后它会被操作系统自动移除. 指定小于 10 或大于 30 的数字时通常会使用最小 (10) 或最大 (30) 的显示时间代替.如果为空或省略, 则一般使用最小的时间. 此参数可以为 表达式.
真实的时间可能不同于指定的时间. 微软解释说, "如果用户貌似没有使用计算机(空闲状态),那么系统不会以这个参数计算超时."(技术细节请参阅这里.) 因此, 要更精确地控制托盘提示显示的时间,请使用 Sleep 命令后面跟着不带参数的 TrayTip,或像下面的示例中演示的那样使用 SetTimer.
- Options
Options 参数可以为 0 (零), 或是下列表中一个或多个参数值的总和:
功能 十进制值 十六进制值 信息图标 1 0x1 警告图标 2 0x2 错误图标 3 0x3 Windows XP 和之后的: 不发出提示声. 16 0x10 Windows Vista 和之后的: 使用大图标. 32 0x20 如果省略则默认为 0 , 亦即无图标. 如果 Title 省略, 同样不会显示图标.
此参数可为 表达式.
备注
Windows 10 默认以 toast 通知替换气球提示窗口(这能被重置通过主策略). TrayTip 多次调用通常会导致多个通知被放置在一个"队列"而不是每个通知取代最近的那个. 若要隐藏通知,暂时移除托盘图标可能是有效的. 例如:
TrayTip #1, This is TrayTip #1 Sleep 3000 ; Let it display for 3 seconds. HideTrayTip() TrayTip #2, This is the second notification. Sleep 3000 ; Copy this function into your script to use it. HideTrayTip() { TrayTip ; Attempt to hide it the normal way. if SubStr(A_OSVersion,1,3) = "10." { Menu Tray, NoIcon Sleep 200 ; It may be necessary to adjust this sleep. Menu Tray, Icon } }
如果脚本没有托盘图标(使用 #NoTrayIcon 或 Menu, tray, NoIcon
), 则不会显示托盘提示的气球窗口.同样地, 如果下列的 REG_DWORD 值已经存在且被设置为 0, 则 TrayTip 不起作用:
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced >> EnableBalloonTips
相关提示, 每当用户把鼠标悬停在脚本托盘图标上时会显示工具提示. 此工具提示的内容可以使用这样的方法改变:Menu, Tray, Tip, My New Text
.
相关
ToolTip, SetTimer, Menu, SplashTextOn, MsgBox, InputBox, FileSelectFile, FileSelectFolder
示例
TrayTip, My Title, Multiline`nText, 20, 17
; 要更精确的控制显示的时间 ; 而不使用 Sleep 的方法 (它停止了当前线程): #Persistent TrayTip, Timed TrayTip, This will be displayed for 5 seconds. SetTimer, HideTrayTip, -5000 HideTrayTip() { ; NOTE: For Windows 10, replace this function with the one defined above. TrayTip }
; 要让托盘提示永久显示, 请使用计时器进行周期性的刷新: ; NOTE: This probably won't work well on Windows 10 for reasons described above. #Persistent SetTimer, RefreshTrayTip, 1000 Gosub, RefreshTrayTip ; 调用一次来让它立即开始. return RefreshTrayTip: TrayTip, Refreshed TrayTip, This is a more permanent TrayTip., , 16 return