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

时间:2015-12-16 12:56:34

标签: c# multithreading messagebox thread-sleep process.start

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

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

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

如果有办法,如果你能告诉我,我会非常感激:)

关心施林格

1 个答案:

答案 0 :(得分:0)

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

根据您正在运行的可执行文件,运气好的话可能会显示一个接受某个var func1 = someFunction.bind(obj1); var func2 = someFunction.bind(obj2); var func3 = otherFunction.bind(obj1); func1 === func2; // naturally returns false equalsOrigins(func1, func2); // should return true equalsOrigins(func1, func3); // should return false equalsOrigins(func2, func3); // should return false quiet参数的命令行版本,但这不太可能。

或者您可以尝试以编程方式关闭这些对话框,如建议的那样。