在wpf中使用Process.Start()启动了一个程序,要怎样才能等待这个程序执行完并输出结果后再执行后面的语句

在wpf中使用Process.Start()启动了一个程序,要怎样才能等待这个程序执行完并输出结果后再执行后面的语句,第1张

建议通过进程间通信完成

在程序A中调用Process.Start带上通讯的必要参数,在程序B启动时根据参数执行必要处理,在处理完成后,根据提供的参数依据协议向A通知。

提供两种余握思大毁亮路:

1、A窗口通过回调处理Window消息,在调用Process.Start时带上自己的窗口句柄,B启动记录该窗口句柄,在完成指定功能处理后,向该窗口句柄发送消息。A收到消息,继续接下来的处理。

2、A创建滚宽Socket在指定端口侦听,在调用Process.Start时,带上IP(分布式)和端口,B启动后完成指定处理,便可以依据通讯协议,向IP的端口发送通知。

想实现这种效果只能用多线程

把while里面的代码去掉Thread.CurrentThread.Join(1000)

然后放进timer里面就行了

你现在的实现铅明方法只会显示最后的结果 因为在同一个方法内的所有 *** 作都槐御告只会在结束时得到一个结果 然后UI刷新时只刷新这个结果 所以你要让处理逻辑和UI刷新分开来做 也就是多线拆姿程 *** 作

你要把变量的定义放在事件的外面,也就是形如

DispatcherTimer

myTimer

=null

播轮羡放按钮_click(.....)

{

myTimer

=new

DispatcherTimer()

myTimer.Interval

=

new

TimeSpan(0,

0,

1)

myTimer.Tick

+=

new

EventHandler(Timer_Tick)

myTimer.Stat()

}

然后在暂停之类的蔽吵事件中就可宏桐侍以用myTimer了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12556038.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存