2010-06-08 7 views
0

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

ответ

0

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

0

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

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

+0

Я сделал это в прошлом. Но я не могу найти свои коды. Я помню, что это была некоторая закономерность в этой ситуации – Polaris

0

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

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