- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在将自定义操作添加到我的 VS2008 安装项目(MSI 安装程序)中。
我正在调用一个批处理文件来创建数据库,然后想删除这些文件。我有 WaitForExit() 但它不会等待。为什么?
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.UseShellExecute = false;
string tempDir = @"C:\Temp\";
startInfo.FileName = tempDir + "sybaseDB\\en_AllInOne_installDB.bat";
startInfo.Arguments = tempDir + "sybaseDB\\";
try
{
Process startDB = Process.Start(startInfo);
startDB.WaitForExit();
}
catch (Exception e)
{
//do something?
}
finally {
System.IO.File.Delete(tempDir);
}
与 startInfo.UseShellExecute = true
没有区别;批处理执行没有任何问题,因为它需要用户输入,我输入 y 和 n 来回答问题。但是删除操作发生在我输入之前。我在批处理文件的末尾有一个暂停。我可以看到批处理文件的运行过程。
编辑:我测试了10多次,它没有用。午饭后,我又放了一个 waitForExit 和一个带有 HasExited 检查的 while 循环。它会在 while 循环中休眠。我发现它有效。然后我删除了那些多余的代码,回到一个WaitForExit。现在看来可以了。
最佳答案
这可能会引发异常,因为您无法执行 .bat 文件。您可能打算通过将 .bat 文件作为命令行参数来执行 cmd.exe。
关于c# - 为什么 WaitForExit() 不等待?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3824174/
我正在编写一个应用程序,其中有两个对外部程序的调用,RichCopy 和 7zip。这个想法是使用 RichCopy 移动文件,并在 RichCopy 完成后使用 7zip 存档和加密文件。我遇到的问
我正在调用 ffmpeg。有时调用失败并且 ffmpeg 不会退出它只会进入递归循环。我调用了 WaitForExit 方法。 在代码中,我进一步询问了 standardOutput 和 standa
我在我的应用程序中使用以下语句: System.Diagnostics.Process process = new System.Diagnostics.Process(); process.Star
所以我一直在与这个问题作斗争,并尝试了很多不同的方法来解决它,但都无法解决。 基本上,我的应用所做的就是调用 java 文件以在设备上加载应用。在加载时将其打印到富文本框,然后我想转到下一个文件。我遇
我正在尝试统一运行一个 exe 应用程序以执行某些功能,并且该 exe 文件将在统一运行时从我的麦克风获取输入,所以我必须等到它退出,而使用 waitforexit 可以很好地允许 exe 获取输入但
我正在使用 WMI to start a process on a remote machine .创建进程的调用立即返回,我还获得了远程机器上进程的 ID。 我想等待远程进程完成。一种选择是轮询远程
我下面的代码从while循环中被调用,因此它连续执行多次。有时但并非总是如此,我最终在p.WaitforExit()上遇到线程被中止的错误。有人对此有见识吗?我应该在p.WaitForExit之后调用
我有一个启动进程、等待退出然后返回退出代码的函数: function int login(string pathtofile) { //... Process process = ne
我已经创建了 Print spooler 应用程序来异步打印 pdf。 (应用程序使用veryPDF命令从网络打印机打印) 这是代码 var procStartInfo = new System
我正在将自定义操作添加到我的 VS2008 安装项目(MSI 安装程序)中。 我正在调用一个批处理文件来创建数据库,然后想删除这些文件。我有 WaitForExit() 但它不会等待。为什么?
下面是我启动该过程的代码,只放了演示链接。我希望这个过程在不打开浏览器的情况下在后台运行。第二行也抛出异常 Object reference not set to an instance of an
来自 MSDN 使用新创建进程的 stdoutput 的例子: // This is the code for the base process Process myProcess =
我的程序一直运行良好,但突然卡在 Process.WaitForExit();而不继续执行下一个命令。我已经多次运行该程序而没有出现错误。有谁知道我该如何调试这个或者有谁知道背后的问题是什么?会不会是
此代码在大量机器上按预期运行。然而在一台特定的机器上,调用 WaitForExit()似乎被忽略,实际上将进程标记为已退出。 static void Main(string[] args) {
我有一项服务有时会调用批处理文件。批处理文件需要 5-10 秒来执行: System.Diagnostics.Process proc = new System.Diagnostics.Process
我想等待一个进程完成,但是 Process.WaitForExit() 挂起了我的 GUI。是否有基于事件的方式,或者我是否需要生成一个线程来阻塞直到退出,然后自己委托(delegate)事件? 最佳
我正在尝试执行一个批处理脚本,该脚本在末尾包含一个我想确认的暂停语句: var psi = new ProcessStartInfo(path, arguments); psi.RedirectSta
我正在调用一个“有时”在 VB.NET 中运行的第三部分应用程序(它是一个自托管的 WCF)。但有时第 3 方应用程序会永远挂起,所以我给它添加了一个 90 秒的计时器。问题是,我怎么知道事情是否超时
我正在使用以下提供的解决方案:https://stackoverflow.com/a/19104345/2713516要异步运行 WaitForExit,但是,我想使用 Int32 参数重载 ( ht
我对 c# 和这个论坛总体上还很陌生,但就我而言,我还没有看到任何像我这样的问题可以解决我的问题。 我正在调用方法 Process.WaitForExit() 以等待安装文件完成安装。但是,该方法似乎
我是一名优秀的程序员,十分优秀!