当我使用 Process.Start() 运行 时,如何强制另一个程序不显示任何对话框

How can I force another program to not show any dialog when I run it with Process.Start()

我不确定是否可行。但我的问题是,当我使用 process.Start() 运行 时,我可以强制程序不显示任何对话框吗?

我有一个程序,我在 foreach 循环中调用另一个程序。它是一个文件转换器。不幸的是,有些文件不再存在或用户提供了错误的文件路径。如果发生这种情况,转换器会显示一个带有消息框的错误。但我不想看到那个框,因为如果用户想要转换 10000 个文件,但在设置中的路径错误,则会出现 10000 个消息框并强制系统崩溃。

我试图终止这些进程,但它们在进程中的名称与转换器本身相同。我可以用 Thread.Sleep 处理它,但是当我的线程 运行ning 时,我的鼠标一直在闪烁。这比消息框好一点点。

如果有办法,请告诉我,不胜感激:)

问候施林格

很可能这是不可能的。没有内置方法可以防止 任何 可执行文件显示任何对话框。

根据您是 运行 的可执行文件,运气好的话,它可能会公开接受某些 quietnoui 参数的命令行版本,但这不太可能。

或者您可以按照建议尝试以编程方式关闭这些对话框。