Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2015.09.20;
Скачать: [xml.tar.bz2];

Вниз

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

 
Дмитрий С ©   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.002 c
2-1398777541
rumma
2014-04-29 17:19
2015.09.20
иконка


15-1422567002
Юрий
2015-01-30 00:30
2015.09.20
С днем рождения ! 30 января 2015 пятница


15-1422653402
Юрий
2015-01-31 00:30
2015.09.20
С днем рождения ! 31 января 2015 суббота


15-1423122218
Jeer
2015-02-05 10:43
2015.09.20
Сайтостроителям..


15-1422882243
ВладОшин
2015-02-02 16:04
2015.09.20
Set|Get CursorPos при закрытом окне RDP





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский