在批处理文件中高级使用msg *命令?

时间:2010-12-04 21:58:32

标签: windows-7 popup batch-file cmd

编辑:我已经在这个问题上得到了50分的赏金给谁最好的答案!

嗨我想知道批处理文件是否有办法使用msg * "hi"命令以及除默认(取消和确定)之外的其他选项显示弹出窗口,我的意思是在弹出消息中添加自定义按钮,例如“下一个”按钮,它会带您到另一个带有对话框的弹出消息或沿着这些行的某些内容。总之,有没有办法编辑msg * "text goes here"命令的结果?

这就是出现的......

alt text

这就是我想要的东西:

alt text

但是,我也想知道是否可以更改弹出消息的标题及其大小或位置。我知道这开始听起来像批处理文件中的基于gui的弹出窗口,但我只是想知道它是否可能通过任何方式必要(请记住,我只想使用批处理/ shell)。任何信息或想法都会有所帮助!谢谢!

3 个答案:

答案 0 :(得分:2)

首先,我不知道msg.exe的一些其他未记录的开关,您可以使用这些开关以您想要的形式创建消息。因为您询问任何信息或想法我决定写下我的答案。

您如何看待Dependency Walker计划msg.exe使用内部函数WinStationSendMessageWWinStationEnumerateWWinStationQueryInformationWWinStationOpenServerW,{来自WinStationFreeMemory的{​​1}}。函数WinStationQueryInformationW已记录,所有其他函数均未记录。然而,可以相对确定函数与记录的函数RpcWinStationSendMessageTerminal Services Terminal Server Runtime Interface中记录的其他RpcWinStationXXX函数相同。我个人认为没有必要使用未记录的函数,因为其他记录的函数WTSSendMessageWTSEnumerateSessions(参见Remote Desktop Services API)也可以这样做。

函数WTSSendMessageRpcWinStationSendMessage都包含参数winsta.dllpTitle(例如MB_YESNOCANCEL}和Style(其中你可能也很有趣)。因此,我建议你或你所在大学的一个人自己编写你需要的小工具。您可以在实现中使用记录的WTSSendMessageWTSEnumerateSessions函数。

如果您要问serverfault.comsuperuser.com的问题,可能会有人推荐您使用的现有实用程序。

答案 1 :(得分:2)

很抱歉,但无法更改批处理“msg”命令显示的弹出窗口。

Oleg说的是,如果你想创建一个自定义弹出窗口,你不能用windows“msg”命令来做。除了创建自己的“msg”命令之外别无他法,这会打开一个自定义弹出窗口(有很多方法可以做到这一点,由Oleg解释)。

答案 2 :(得分:0)

msg * text在Windows 10中不起作用。我编写了一个程序来帮助您

@ECHO Off
echo -downloading paused-
echo MsgBox "are you sure you want to download 'msgBox extension' by Ronan? Oh wait ,sigh,I forgot to add the yes or no part...ok,hit ok for yes,or hit the X on the cmd terminal for no." > msg.vbs
msg.vbs
cls
del msg.vbs
echo alrighty then!
pause >nul
cls
@ECHO On
mkdir "msgBox extension"
echo start /min cache\messageB ^& exit > "msgBox extension\messageBox.bat"
echo blank..? > "msgBox extension\text.txt"
mkdir "msgBox extension\cache"
>"msgBox extension\cache\messageB.bat" (
echo set /p var=^< text.txt
echo echo MsgBox " %%var%% " ^> msgbox.vbs
echo msgbox.vbs
echo del msgbox.vbs
echo exit
)
pause
@Echo Off
cls
echo ok,good.you downloaded the software.just for good measure,do a scan of your computer,find viruses, THEN DELETE THE FOLDER ASAP. it means someone stole this program and added viruses to it.ooorrrrrrrr it's something else.
pause >nul
cls
echo now I will tell you how to use the software
echo in a batch file,or cmd prompt,: "msgBox extension\text.txt" will input text into the software. which will be used in : "msgBox extension\messageBox.bat" will display a text box of the imputed text.
echo good luck!
pause >nul

在cmd或批处理文件中要使用它,请输入echo text here > "msgBox extension\text.txt""msgBox extension\messageBox.bat"将通过文本框将其激活。

相关问题