Запустите мою программу из другого приложения - PullRequest
1 голос
/ 18 августа 2010

Я хочу знать, как я могу запустить свою программу на C # при запуске другого приложения. Мне нужно только это конкретное приложение для запуска моей программы, потому что я буду выполнять некоторую обработку вывода из нее. Приложение, о котором я говорю, написано не мной. Кроме того, я не хочу писать сервис.

Ответы [ 3 ]

1 голос
/ 18 августа 2010

Возможно, вы сможете использовать WMI во втором приложении, которое вы создаете, как показано здесь , чтобы отслеживать процесс, который вы ищете, а затем иметь ваше второе «приложение монитора», которое всегда работает ( не обязательно в качестве службы) запустите ваше приложение, чтобы обработать выходные данные приложения, которое вы хотите иметь, чтобы запустить ваше приложение.

Другие вещи, которые мы сделали, - запустили наше приложение из-под входа пользователя, добавив его в папку запуска или вызвав его из запланированного задания для поиска данных для обработки. Не уверен, что работает для вас, но, возможно, некоторые опции, которые вы можете использовать.

EDIT: @ManX IMO метод мониторинга работает очень хорошо, и я не вижу особых проблем в обработке тысяч отчетов в день в моих приложениях с использованием этого метода. Я просто ищу новые «выходные» данные, отчеты в вашем случае в определенных местах и ​​обрабатываю их соответственно. Как правило, наши приложения работают в режиме без окон и выводятся на передний план только тогда, когда пользователю необходимо взаимодействовать. В вашем случае это будет когда новый отчет будет создан. В .NET Framework есть много возможностей, которые позволят вам написать гибкое и легкое приложение для мониторинга.

Найдите один из подходящих вам таймеров и периодически проверяйте наличие новых отчетов. Это будет почти немедленная реакция на создание отчета и должна быть незаметной для пользователя.

РЕДАКТИРОВАТЬ # 2.

Посмотрите на создание Постоянного потребителя событий WMI ... Тогда вы можете просто использовать Process.Start, чтобы запустить ваше приложение, как рекомендовали другие, когда вы обнаружите интересующее вас событие.

0 голосов
/ 18 августа 2010

Похоже, вы хотите, чтобы запуск какого-либо внешнего приложения вызвал запуск вашего собственного приложения.

Если вы можете контролировать, когда запускается внешнее приложение, вы можете одновременно запускать собственное приложение. Например, если это внешнее приложение можно запустить с помощью командного файла, просто включите свое приложение в пакет, например

.
echo off
start OutsideApp.exe
MyOwnApp.exe

Команда «Пуск» запускает OutsideApp.exe и запускает ее при выполнении следующей инструкции в пакете, MyOwnApp.exe.

Но ответ @ WilP может быть больше, чем вы ищете. Если это подходит, тем не менее, мой быстрее реализовать. : -)

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