问题标签 [waitforexit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - WaitForExit() 在 UAC 或安全警告上激活
总的来说,我对 c# 和这个论坛还很陌生,但就我而言,我还没有看到像我这样的问题可以解决我的问题。
我正在调用该方法Process.WaitForExit()
以等待安装文件完成安装。但是,该方法似乎将 UAC 视为“过程”,并在我单击 UAC 上的“确定”后激活。在代码继续之前,有没有更好的方法来等待安装过程完成?还是我做错了?手动禁用 UAC(如果可能的话)是不行的,除非它也以编程方式完成。
这是代码的一部分:
编辑:正确调用进程
编辑 2:如果我说我正在安装 MySQL Server 5.6,会有帮助吗?似乎除了安全警告之外,它还会在启动之前弹出并关闭一些窗口。问候。
vb.net - process.start 冻结我的应用程序(VS 2013)
因此,我正在尝试创建一个应用程序,该应用程序根据文件名列表启动第 3 方 exe 来执行一些文件操作。因此,如果列表有 13 个项目,我将循环 13 次,每次启动外部进程,通知用户现在正在处理哪个文件,启动进程并等待它退出。为了通知用户,另一个列表框用作喊话框。问题是, .waitforexit() 以某种奇怪的方式冻结了整个线程,因此外部程序被正常调用,文件被正常处理,但主窗口被冻结,直到所有项目都完成。所以基本上 Shoutbox 被冻结并且只有在整个循环完成后才会收到所有信息的垃圾邮件。我尝试了很多方法来实现这一点,例如启动新线程、使用线程池、计时器等等。任何帮助表示赞赏。代码:
wpf - 在两个进程运行之间更新 WPF 中的主 UI
我在 WPF 中启动了两个背靠背进程,中间有一个 UI 更改。还有一个包含所有内容的while循环。因此,代码看起来类似于:
问题是在第一个进程存在之后和第二个进程开始之前,UI 没有更新。它只在 while 循环终止时更新一次。
我怎样才能实现上述逻辑并能够重绘堆栈面板?
c# - 与命令提示符相比,System.Diagnostics.Process 需要更多时间
我正在尝试使用 System.Diagnostics.Process 从 c# 代码中安装 VHD 文件以执行 diskpart.exe 命令。
下面是我使用的代码片段:
问题是如果我在命令提示符下执行相同的命令(使用批处理文件),执行大约需要 0.5 秒。但是如果我运行上面的代码,WaitForExit() 大约需要 5 秒才能返回。
我尝试将 RedirectStandardOutput 和 RedirectStandardError 设置为 true 和 false,但我看不出有什么区别。
请让我知道我在这里可能做错了什么。
谢谢。
c# - 我如何知道 Process.WaitForExit() 是否因主应用程序关闭而过期
我有一个 C# 控制台程序“A”来监视另一个应用程序“B”的 4 个实例。
控制台程序为每个“B”实例创建一个线程,每个线程使用Process.Start()
. 然后线程使用等待 3 秒Process.WaitForExit(3000);
在那之后,它会检查应用程序“B”的实例是否正在运行。如果没问题,再等。否则,如果它不起作用或已经完成,它会重新启动它。当用户关闭控制台程序时,所有应用程序都将结束。
但是,当使用控制台的关闭按钮关闭应用程序“A”时,WaitForExit() 在所有线程中恢复,并导致应用程序“B”重新启动。
我想检测是否WaitForExit()
由于受监控的应用程序“B”失败或主应用程序“A”正在退出而恢复。在这种情况下,应用程序“B”不会重新启动,问题将得到解决。
我尝试使用以下方法捕获结束事件:
问题是在调用处理程序例程之前恢复了 WaitForExit()。
更多信息:
Main() 方法启动线程:
我还尝试将线程从后台更改为前台,以便主应用程序不会退出,但结果是一样的。
每个线程启动并监视第二个应用程序的一个实例:
_closure 是在控制台关闭时从主线程设置的变量。我使用 SetConsoleCtrlHandler 做到了这一点:
c# - 在 C# 中,我如何拥有一个覆盖标准 process.WaitForExit() 的 process.WaitForExit(time)?
我希望它在继续之前等待该过程结束,但如果它没有在 x 时间内结束,请继续。预先感谢您的帮助。
jsp - 需要等待一个程序在 JSP 中执行
我需要从我的 JSP 中执行一个批处理文件,但是代码在批处理文件执行语句之后移动到下一行,并且不等待批处理文件完成执行。我试过waitfor()
了,但它进入了无限循环。
所以现在我选择了一个不同的解决方案,我的批处理文件由 JSP 执行,修改了系统上的文件。所以我放了一个 while 循环并检查文件修改时间和当前系统时间。即使在这种情况下,while 循环也会永远持续下去。
请在任何一种方法中提供帮助。
c# - C# Process.Start - 如何强制执行 WaitForExit
我有一个调用其他控制台应用程序的控制台应用程序。
我正在使用以下链接获取操作方法:https ://robindotnet.wordpress.com/2010/03/21/how-to-pass-arguments-to-an-offline-clickonce-application/
我无法实例化 Process 并使用它,因为我收到错误消息“指定的可执行文件不是此 OS 平台的有效应用程序”。
我可以使用 Process 的静态版本来调用应用程序,例如
或者
但是,我无法让进程 WaitForExit - 一个应用程序被调用,一段时间后,在第一个应用程序完成之前,第二个应用程序被调用 - 这是一个问题,因为它取决于第一个应用程序完成。
关于如何让静态版本的进程等待退出的任何建议(替代方法。如何实例化进程并能够调用 clickonce 部署的应用程序?)
android - Android:暂停 FOR 循环以等待 startActivityForResult 调用的子活动完成()
我正在尝试使用此代码一一启动一些活动
我想在每次启动子活动时获取意图,做某事,完成它,父活动将等待每个孩子退出,然后调用下一个活动。但是 for 循环在显示任何活动之前运行并完成。有解决办法吗?
c# - WaitForExit 没有正确超时,只是挂起
我有一些这样的代码:
这个想法是让进程优雅地退出,但如果它需要超过 5 秒,我认为它需要被杀死。
这似乎在大多数情况下都有效,但如果进程抛出了 Windows 错误消息,它就会挂起。我以前只有“process.Kill()”并且有效,所以我必须假设它实际上卡在了 WaitForExit(5000) 调用上,即使我给它一个超时值。
有什么理由会发生这种情况?
编辑:我想知道是否可能是由于该错误消息而实际挂起的 CloseMainWindow() 。在这种情况下,在尝试 CloseMainWindow() 方法之前检查进程的“响应”属性实际上会返回“false”吗?如果是这样,我可以检查一下,然后在这种情况下使用 Kill 。