2014-11-24 2 views
0

У меня есть scenerio,как 2 приложения WPF могут разговаривать друг с другом

У меня есть 2 приложений, которые являются приложения WPF App1 и консольного приложения App 2. Мне нужно получить объект Application из APP1 в app2. Так что я могу использовать метод App1.Shutdown().

Поскольку мне нужно получить событие Exit для APP1, я не могу использовать Process.Kill из APP2.

Любая помощь приветствуется!

+0

Почему вы не можете использовать событие Process.Exited? Тогда вы можете использовать 'Process.Kill'. – BradleyDotNET

+0

Нет, Process.Exited никогда не происходит, потому что технически APP был убит, и весь ресурс, связанный с приложением, был удален ОС. –

ответ

2

This - это самый простой способ, с помощью которого один процесс может отправлять сообщения другому, основываясь на том, что вы можете принять меры. В вашем случае вы можете отправить Сообщ «завершение» другому процессу, то в приемнике конец можно назвать App.Shutdown()

+0

Ну, это может сработать, если оба приложения или, по крайней мере, получающее приложение находятся в состоянии «Активировать» (что означает «Не указано»). Если он миниатюрный и обозначенный, приложение-получатель никогда не получает сообщение. –

0

Простой и эффективный способ заключается в использовании TCP связи между обоими приложения. APP 1 может отправить сообщение на предопределенный порт, а на другом конце, когда APP2 получает сообщение, он может отключиться самостоятельно.

Смежные вопросы