禁用从cmd运行的程序的消息框

时间:2012-09-21 08:14:38

标签: windows command-line cmd

我有一个工具,在它的工作结束时显示带有通知和确定按钮的消息框。我在命令行下运行它,并希望禁用所有可能破坏我的进程并需要用户反应的消息框。有什么方法可以完成这项任务吗?

2 个答案:

答案 0 :(得分:0)

我建议只添加一个--quiet命令行开关,这样用户可以更好地控制这类事情。

如果您想尝试自动执行此操作,可以在应用启动时检查父PID,并查看它是否为cmd.exe。当然,这并非100%准确,因为有更多场景用户不希望用户交互。

答案 1 :(得分:0)

嗯......您可以使用VBScript自动点击或按消息框上的 ENTER 。但是您需要知道消息框的窗口名称或编号。

此代码将焦点转移到名为MESSAGEBOXNAME的窗口,然后按 ENTER

Set oShell = CreateObject("WScript.Shell") 
oShell.AppActivate("MESSAGEBOXNAME")
WScript.Sleep 500
oShell.SendKeys "~"

其中MESSAGEBOXNAME是MessageBox的窗口名称,它应位于消息框的右上角。