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

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

建议通过进程间通信完成

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

提供两种思路:

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

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

进程释义:WPFFontCache_v0400exe是Microsoft NET Framework的相关程序,用于通过缓存常用的字体数据来优化 Windows 演示基础(WPF)应用程序性能。如果此服务未运行,WPF应用程序会启动此服务。可以被禁用,但这样做会降低WPF的应用程序的性能。

解决方法:如果不使用WPF应用程序可以禁用此服务。或者可以在\Documents and Settings\LocalService\Local Settings\Application Data\下找到WPFFontCache_v0400开头的所有文件,删除即可(注意要先停止服务才能被删除)。

空域问题是由于Winform与WPF在底层渲染机制上有所区别而导致的。多数情况下,开发者为了实现不规则的窗体并承载Winform控件时,遇到此类问题。当WPF窗体设置为允许透明(也就是AllowsTransparency=True)时,Winform Control 会出现不显示等情况,为了避免此问题,许多UI框架在实现不规则窗体时,用Win32 API 去实现不规则窗体的一些特效,比如透明,圆角等,这样WPF窗口的AllowsTransparency属性就可以设为FALSE,从而绕过了空域问题。

以上就是关于在wpf中使用Process.Start()启动了一个程序,要怎样才能等待这个程序执行完并输出结果后再执行后面的语句全部的内容,包括:在wpf中使用Process.Start()启动了一个程序,要怎样才能等待这个程序执行完并输出结果后再执行后面的语句、WPF\WPFFONTCACHE_V0400.EXE是什么、脱离空域的方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/zz/10108317.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存