我有一个小的PowerShell脚本,可以让我快速为自己设置闹钟。它基本上只等待指定的分钟数,然后调用
msg *闹钟!
这很有效 - 会弹出一个消息框。唯一的问题是它会在一段时间后消失 - 所以如果我不在我的办公桌前,我会错过这个消息框。
根据文档found here,这是我没有指定时间值时的行为。
/ time:seconds:指定您发送的消息显示在用户屏幕上的时间。达到时间限制后,消息将消失。如果未设置时间限制,则消息将保留在用户屏幕上,直到用户看到该消息并单击“确定”。
然而情况并非如此,它确实消失了。现在,我必须为它保留一个任意高的数字。
msg * /time:999999 alarm!
答案 0 :(得分:2)
使用cdb
跟踪通话时,会在启动msg.exe
并向其传递999999
的最大超时值时显示以下感兴趣的功能:
command: msg * /time:999999 alarm
f423f
(999999)
的超时值通过ShowMessageBox
注册表传递给rax
。
WINSTA!WinStationSendMessageW+0x353:
000007fe`fbf1ec93 e874deffff
call WINSTA!CSmartSession::ShowMessageBox (000007fe`fbf1cb0c)
rax=00000000000f423f rbx=0000000000000000 rcx=0000000000000010
在没有任何超时值的情况下启动msg.exe
会将3c
(60)
传递给ShowMessageBox
函数。
command: msg * alarm
WINSTA!WinStationSendMessageW+0x353:
000007fe`fbf1ec93 e874deffff
call WINSTA!CSmartSession::ShowMessageBox (000007fe`fbf1cb0c)
rax=000000000000003c rbx=0000000000000000 rcx=0000000000000010
我的猜测是文档不是最新的(如果有的话)