2014-11-24 75 views
0

我有之情况,2 WPF应用程序如何互相交谈

我有2个应用,其WPF应用程序App1和控制台应用程序应用程序2.我需要从APP1得到应用对象APP2。这样我可以使用方法App1.Shutdown()。

由于我需要获取APP1的应用程序退出事件,因此我无法使用APP2中的Process.Kill。

任何帮助表示赞赏!

+0

为什么不能使用'Process.Exited'事件?然后你可以使用'Process.Kill'​​。 – BradleyDotNET 2014-11-24 17:40:24

+0

不可以,Process.Exited永远不会发生,因为从技术上讲,APP已被杀死,并且所有与该应用程序相关的资源已被操作系统删除。 – 2014-12-09 16:11:08

回答

2

This是一种最简单的方法,您可以尝试让一个进程可以根据您可以采取的操作将消息发送给另一个进程。你的情况,你可以发送味精“关机”到另一个过程,然后在接收器端可以调用App.Shutdown()

+0

那么这可以工作,如果这两个应用程序或至少接收应用程序处于激活状态(意思是没有图标化)。如果它被缩小和图标化,那么接收应用程序永远不会收到消息。 – 2014-12-09 16:09:06

0

一种简单而有效的方法是使用这两个应用程序之间的TCP通信。 APP 1可以向预定义的端口发送消息,另一端当APP2收到消息时,它可以自己关闭。