【发布时间】:2012-09-21 08:14:37
【问题描述】:
我有一个实用程序,它在工作结束时显示带有通知和确定按钮的消息框。我在命令行下运行它,并希望禁用所有可能破坏我的进程并需要用户反应的消息框。有什么方法可以完成这个任务吗?
【问题讨论】:
标签: windows command-line cmd
我有一个实用程序,它在工作结束时显示带有通知和确定按钮的消息框。我在命令行下运行它,并希望禁用所有可能破坏我的进程并需要用户反应的消息框。有什么方法可以完成这个任务吗?
【问题讨论】:
标签: windows command-line cmd
我建议只添加一个--quiet 命令行开关,这样用户可以更好地控制这种事情。
如果您想尝试自动执行此操作,您可以在应用启动时检查父 PID,看看它是否为cmd.exe。当然这不是 100% 准确的,因为有更多的场景是用户不希望用户交互。
【讨论】:
/Q,但它阻止了只显示输出。问题是我无法修改此实用程序。我按照以下方式使用它:Process.Start("name", "arg") in c# 并等待退出。现在我需要中断进程。显然,这不是一个好的和灵活的决定。
嗯...您可以使用 VBScript 自动单击或按消息框上的 ENTER。但您需要知道消息框的窗口名称或编号。
这段代码会将焦点带到一个名为 MESSAGEBOXNAME 的窗口上,然后按 ENTER。
Set oShell = CreateObject("WScript.Shell")
oShell.AppActivate("MESSAGEBOXNAME")
WScript.Sleep 500
oShell.SendKeys "~"
MESSAGEBOXNAME 是 MessageBox 的窗口名称,应该在消息框的右上角。
【讨论】: