C#winform调用外部程序,等待外部程序执行完毕才执行下面代码

1.简单调用外部程序文件(exe文件,批处理等),只需下面一行代码即可

System.Diagnostics.Process.Start(“应用程序文件全路径”);

2.如果要等待调用外部程序执行完毕才执行下面代码,只需要在后面加上WaitForExit()方法

System.Diagnostics.Process.Start(应用程序文件全路径).WaitForExit();

3.另一种方法:使用实例化方法不使用静态方法

1  Process process = new Process();
2  process.StartInfo = new ProcessStartInfo(路径, 参数);
3  process.Start();
4  process.WaitForExit();
5  MessageBox.Show("处理已经完成!", "提示");
时间: 2024-10-24 14:31:23

C#winform调用外部程序,等待外部程序执行完毕才执行下面代码的相关文章

java主线程等待所有子线程执行完毕在执行(常见面试题)

java主线程等待所有子线程执行完毕在执行(常见面试题) java主线程等待所有子线程执行完毕在执行,这个需求其实我们在工作中经常会用到,比如用户下单一个产品,后台会做一系列的处理,为了提高效率,每个处理都可以用一个线程来执行,所有处理完成了之后才会返回给用户下单成功,下面就说一下我能想到的方法,欢迎大家批评指正: 用sleep方法,让主线程睡眠一段时间,当然这个睡眠时间是主观的时间,是我们自己定的,这个方法不推荐,但是在这里还是写一下,毕竟是解决方法 2.使用Thread的join()等待所有

Java主线程等待所有子线程执行完毕再执行解决办法集

Java主线程等待所有子线程执行完毕在执行,其实在我们的工作中经常的用到,比如说主线程要返回一个响应用户的值,但这个值得赋值过程是由过个子线程来完成的(模拟一个实际开发的情景),所以主线程必须等待子线程执行完毕,再响应用户:否则,响应用户的是一个无意义的值. 那么如何确保所有的子线程执行完毕了.一般的有如下方法: 1  让主线程等待,或着睡眠几分钟.用Thread.sleep()或者TimeUnit.SECONDS.sleep(5); 如下: package andy.thread.tradit

CountDownLatch用法---等待多个线程执行完才执行

CountDownLatch用法---等待多个线程执行完才执行 一.CountDownLatch用法 CountDownLatch类位于java.util.concurrent包下,利用它可以实现类似计数器的功能.比如有一个任务A,它要等待其他4个任务执行完毕之后才能执行,此时就可以利用CountDownLatch来实现这种功能了. CountDownLatch类只提供了一个构造器: 1 public CountDownLatch(int count) {  };  //参数count为计数值

Jquery等待ajax执行完毕继续执行(断点调试正常,运行异常)

以前写过一个程序,发现用断点调试的时候,一步步的运行,程序是可以的,但是去了断点程序就出现了问题. $(document).ready(function(){ var arra=new Array(); $.post("/getdata",null,function(data){ for(var i=0;i arra.push(data); } }); $("#item").val(data[0]); }); 发现自己犯了一个错误.首先,看一下$.post与$.aj

java程序执行linux命令,并线程阻塞,执行完才走下面代码

Process process;                //String rsync="/usr/bin/rsync -arp "+imageSaveTrue+" "+imageRead;                String rsync="cp "+imageSave+SMALL_IMAGE_SIGN+fileNameAll+" "+imageRead+"/upload/"; logger.

css3动画,监控动画执行完毕

在CSS3之前,在网页上要做动画,一般使用javascript来实现,用timer定时执行一些操作来实现动画效果. 自有了CSS3之后,在网页上做动画变得更简单了.相对于使用javascript的实现方式,用CSS3实现的动画效果更流畅,实现起来也更简单.当然,因为CSS几乎没有什么逻辑控制,所以一般只用来做一些简单的.与用户没有交互的动画. 在CSS3中有两种实现动画的方式,一种是使用transition,另一种是使用animation.如果只是想要简单的过渡效果,则使用transition,

Java多线程--让主线程等待所有子线程执行完毕 join

首先从公司一道笔试题开始 1 package test; 2 3 public class Test implements Runnable { 4 5 public int i = 0; 6 7 @Override 8 public void run() { 9 try { 10 Thread.sleep(1000); 11 } catch (InterruptedException e) { 12 // TODO Auto-generated catch block 13 e.printSt

C#调用API向外部程序发送数据

C#调用API向外部程序发送数据 最近有可能要做一个项目.在项目中有这么一个功能,在A程序中调用B程序,同时在A程序中进行登陆后,要将A程序的登录名和密码自动填充到B程序的登陆对话框中,这样B程序就不需要再输入一次用户名和密码了,简化操作人员的操作.刚好最近闲着没事,就在怎么想怎么去实现.经过两天的折腾,基本上完成了上述功能的实现.下面就把实现方法.过程与大家进行分享. 一.原理 要实现上述功能,需要调用Win API来实现.Win32 API即为Microsoft 32位平台的应用程序编程接口

Windows批处理 调用程序后 不等待子进程 父进程继续执行命令

从DOS过来的老鸟应该都知道批处理,这个功能在WINDOWS中仍然保留着.批处理 说白了就是把一系列DOS命令写在一个文本文件里,然后把这个文件命名为XXX.bat(WINXP以后的系统也可以命名为*.cmd),然后运行它就可 以一次执行一系列命令和程序了,当然也包括WINDOWS下的程序. 昨天处理一个问题时需要写一个批处理,批处理的前面运行了几个DOS命令,最后调用一 个WINDOWS程序.可问题是,调用的WINDOWS程序打开后,CMD命令提示符窗口不会关闭,而是要等待这个WINDOWS程