Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2015.09.20;
Скачать: CL | DM;

Вниз

Межпроцесная модальность.   Найти похожие ветки 

 
Дмитрий С ©   (2015-02-02 13:56) [0]

Можно ли (и как) запустить программу так, чтобы ее окно стало модальным для моего приложения?


 
Дмитрий С ©   (2015-02-02 13:58) [1]

Учитывая, что у этого приложения могут быть свои модальные окна (MessageBox-ы).

Обе программы на Delphi7 и обе я могу править.


 
junglecat ©   (2015-02-02 14:04) [2]

CreateProcess + WaitForSingleObject(hProcess)


 
DVM ©   (2015-02-02 15:32) [3]


> Дмитрий С ©   (02.02.15 13:56) 


> чтобы ее окно стало модальным для моего приложения?

Модальным может быть окно по отношению к другому окну.

Приложение (процесс) - вещь пассивная и невизуальная и относительно нее что-либо не может быть модальным.

Тебе вероятно надо заблокировать поток твоей программы который запустил внешнее приложение до его завершения? Тогда, например [2]

Или что-то другое?


 
Дмитрий С ©   (2015-02-02 16:26) [4]


> DVM ©   (02.02.15 15:32) [3]

И я про окна.

Сейчас я как раз и делаю CreateProcess + WaitForSingleObject (в отдельном потоке).
Но надо чтобы пользователь не мог перейти в мою программу, пока не закончит работать в той, что я запустил - такой же эффект, что и при открытии модального окна.


 
junglecat ©   (2015-02-02 16:42) [5]

> чтобы пользователь не мог перейти в мою программу, пока
> не закончит работать в той

тогда в отдельном потоке смысла нет


 
DVM ©   (2015-02-02 16:43) [6]


> Сейчас я как раз и делаю CreateProcess + WaitForSingleObject
> (в отдельном потоке).

Зачем в отдельном потоке то?  Если ты это сделаешь в отдельном потоке, то интерфейс твоей программы будет доступен и вся "модальность" пропадет.


 
Дмитрий С ©   (2015-02-02 17:06) [7]

Я сделал активацию открытого приложения, когда мое оказывается в фокусе - пока работает.

Если сделать WaitForSingleObject - то мое приложение будет считаться системой зависшим - чего я не хочу.


 
кгшзх ©   (2015-02-02 19:37) [8]

а кто мешает ждать в цикле с небольшим таймаутом и обработкой сообщений
не говоря уже о MsgWaitForMultipleObjects


 
Manaka ©   (2015-02-02 21:19) [9]


> Обе программы на Delphi7 и обе я могу править.


)))
Сделай программу 2 процедурой программы 1 и запускай в модальном окне
)))


 
Германн ©   (2015-02-03 02:10) [10]


> Сделай программу 2 процедурой программы 1 и запускай в модальном
> окне

Кстати да. Отличное решение.
Правда тут ещё и работать надо :(


 
virex(home) ©   (2015-02-03 10:35) [11]

>Дмитрий С ©   (02.02.15 13:56) [0]

произвольное sendmessage ведомому окну от контрольного приложения от которого ведомое окно становится например неактивным



Страницы: 1 вся ветка

Текущий архив: 2015.09.20;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.007 c
15-1423122218
Jeer
2015-02-05 10:43
2015.09.20
Сайтостроителям..


15-1422357619
Kerk
2015-01-27 14:20
2015.09.20
Сжатие данных


2-1398678838
Николька
2014-04-28 13:53
2015.09.20
Firebird SQL error code = -104


2-1398777541
rumma
2014-04-29 17:19
2015.09.20
иконка


15-1423300267
Rouse_
2015-02-07 12:11
2015.09.20
Интересный таки нюанс с инлайн асмом в MS VC++ 2010