Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.10.2013, 13:25   #1
ProstoyUser
 
Регистрация: 22.07.2010
Сообщений: 3
По умолчанию Несколько экземпляров приложения

Пишу небольшую утилиту на C#. Казалось все просто, да не тут-то было.

Задача (по этапам):
1) запустить документ (в ассоциированном с разрешением файла приложении);
2) получить ссылку на главное окно приложения;
3) изменить размеры окна.

Изменить размеры просто, а вот получить ссылку не очень: дело в том, что не все приложения для каждого открытого документа используют отдельный процесс.

Например, Acrobat Reader при открытии второго PDF-документа запускает второй процесс (точнее два, но не суть), а потом находит первый процесс и закрывает второй, перемещая документ в памяти. Так вот, первоначальная задача свелась к задаче перехвата события закрытия процесса (вариант с таймерами не предлагать - по-деревенски, я ищу лучший способ). В случае с Acrobat'ом ничего сложного: в .NET есть событие
Код:
Process.Exited
Подписался, и точный момент закрытия процесса известен.

Но помимо PDF-документов есть еще куча других, в частности Djvu. В качестве читалки использую WinDjView. И на этой программе вышеуказанное событие не сработало при открытии второго документа. Т.е. ведь как обычно: запускается второй процесс, пытаемся установить мьютекс, не получается (процесс уже запущен), передаем все что надо и закрываем процесс (тут-то и срабатывает вышеуказанное событие).

Помогите, пожалуйста, понять какие механизмы ОС использует WinDjView и почему второго процесса не создается.

Благодарю.
ProstoyUser вне форума Ответить с цитированием
Старый 13.10.2013, 15:24   #2
ProstoyUser
 
Регистрация: 22.07.2010
Сообщений: 3
По умолчанию

Ответ, кажется, найден. DDE.
ProstoyUser вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Много экземпляров объекта CeHTuJI Общие вопросы Delphi 6 30.08.2013 07:07
Открыть несколько экземпляров формы Shouldercannon Общие вопросы Delphi 11 27.08.2013 13:10
массив экземпляров класса flibustier912 Visual C++ 1 05.05.2012 01:00
Печатать репорт в несколько экземпляров chugo Microsoft Office Access 1 27.09.2010 06:27
Проверка количества запущенных экземпляров приложения yulia Общие вопросы Delphi 3 07.10.2008 02:30