Как подключиться к процессу - PullRequest
0 голосов
/ 08 июня 2010

У меня есть приложение WPF. Мое приложение состоит из 2 EXE-файлов: Notifier.exe и MainApp.exe. Notifier - это всплывающее приложение в системном трее, которое проверяет удаленный сервер через равные промежутки времени и получает список текущих документов пользователя. Когда пользователь щелкает один из документов в списке во всплывающем окне «Уведомление», я открываю MainApp.exe и показываю нужный документ на новой вкладке. Но когда пользователь нажимает на другой документ в списке, он открывает новый процесс MainApp.exe. Вопрос: Как я могу подключить определенный (уже открытый) процесс в операционной системе и создать в нем какой-либо объект?

Ответы [ 3 ]

0 голосов
/ 08 июня 2010

Как я помню, в VB.Net есть хитрость, позволяющая разрешить только один экземпляр приложения, так или иначе, это не в C #, я где-то читал об этом.

Вам необходимо отправить сообщение в проект WPF, который должен открыть новый документ, я предлагаю сделать это с помощью WCF, создать службу, которая может отправлять команду приложению WPF, которому нужно открыть документ

0 голосов
/ 08 июня 2010

Вы можете использовать именованные каналы (WCF) для передачи данных из одного экземпляра в другой.

0 голосов
/ 08 июня 2010

Пусть MainApp действует как TCP сервер, а Notifier - клиент. Уведомитель должен отправить информацию документа в течение сеанса TCP. Если MainApp не запущен, Notifier может запустить MainApp через Process.Start ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...