powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / отлавить окно внешней программы в момент запуска и тормознуть выполнение VFP до закрытия
10 сообщений из 10, страница 1 из 1
отлавить окно внешней программы в момент запуска и тормознуть выполнение VFP до закрытия
    #34087700
gerasimov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Запускается какой-либо внешний процесс из VFP. Неважно каким способом - через RUN, ShellExecute и т.д. Главное, что появляется окно. Необходимо
отлавить в момент запуска его и тормознуть выполнение VFP до закрытия
этого окна внешней процедуры. Как сделать?
...
Рейтинг: 0 / 0
отлавить окно внешней программы в момент запуска и тормознуть выполнение VFP до закрытия
    #34087831
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://forum.foxclub.ru/read.php?29,222644,223776#msg-223776
...
Рейтинг: 0 / 0
отлавить окно внешней программы в момент запуска и тормознуть выполнение VFP до закрытия
    #34087869
gerasimov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PaulWisthttp://forum.foxclub.ru/read.php?29,222644,223776#msg-223776Проблема в том, что я запускаю процесс сохранения файла через
IE. И непонятно как отловить именно данный момент.
...
Рейтинг: 0 / 0
отлавить окно внешней программы в момент запуска и тормознуть выполнение VFP до закрытия
    #34089811
MSDN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну а что мешает послать сообщение через SendMessage при старте проги, как один из вариантов. А вообще вариантов ,как организовать синхронную работу приложений не прибегая к FindWindow море. Конечно при условии , что все программы твои и ты рулишь кодом.
...
Рейтинг: 0 / 0
отлавить окно внешней программы в момент запуска и тормознуть выполнение VFP до закрытия
    #34090085
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gerasimov PaulWisthttp://forum.foxclub.ru/read.php?29,222644,223776#msg-223776Проблема в том, что я запускаю процесс сохранения файла через
IE. И непонятно как отловить именно данный момент.

Может тебе лучше IE как ActiveX использовать ("Обозреватель Web-страниц" называется)? там можно нужную страничку открыть и отследить состояние IE через методы.
...
Рейтинг: 0 / 0
отлавить окно внешней программы в момент запуска и тормознуть выполнение VFP до закрытия
    #34090255
gerasimovЗапускается какой-либо внешний процесс из VFP. Неважно каким способом - через RUN, ShellExecute и т.д. Главное, что появляется окно. Необходимо
отлавить в момент запуска его и тормознуть выполнение VFP до закрытия
этого окна внешней процедуры. Как сделать?
Как вариант:
В одной моей программе на С++ мне надо было сделать наоборот: приостановить программу, пока выполняется процедура на Фоксе. Я делал так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
....
try{  
// В переменной Komanda - строка запуска Фоксовой программы с параметром...
 if(CreateProcess(NULL,Komanda,NULL,NULL,false,NULL,NULL,NULL,&si,&lpProcess))
   {
    CloseHandle(lpProcess.hThread);
   //INFINITE - ждем пока вызванный процесс не закончится
    WaitForSingleObject(lpProcess.hProcess,INFINITE);
   }
}
....

И CreateProcess, и WaitForSingleObject находятся в Kernel32.dll. Можно подключить ее и пользоваться из Фокса...
...
Рейтинг: 0 / 0
отлавить окно внешней программы в момент запуска и тормознуть выполнение VFP до закрытия
    #34091854
gerasimov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MSDNНу а что мешает послать сообщение через SendMessage при старте проги, как один из вариантов. А вообще вариантов ,как организовать синхронную работу приложений не прибегая к FindWindow море. Конечно при условии , что все программы твои и ты рулишь кодом.
а можно какой-нибудь более конкретный примерчик?
...
Рейтинг: 0 / 0
отлавить окно внешней программы в момент запуска и тормознуть выполнение VFP до закрытия
    #34093262
dmitryx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если известен handle запущенного процесса, то можно вот так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
#DEFINE WAIT_TIMEOUT 0x00000102
#DEFINE WAIT_INTERVAL  50 

DECLARE INTEGER WaitForSingleObject IN KERNEL32 ;
			INTEGER hHandle, ;
			INTEGER dwMilliseconds

DECLARE INTEGER CloseHandle IN KERNEL32 ;
			INTEGER hHandle

* lnHandle --  хэндл процесса 
WAIT "Дождитесь завершения процесса" WINDOW NOWAIT

DO WHILE .T.
	IF WaitForSingleObject(lnHandle, WAIT_INTERVAL) != WAIT_TIMEOUT
        		EXIT
	ELSE
		DOEVENTS
	ENDIF
ENDDO
			
WAIT CLEAR
=CloseHandle(lnHandle)
Целиком пример доступен тут .
...
Рейтинг: 0 / 0
отлавить окно внешней программы в момент запуска и тормознуть выполнение VFP до закрытия
    #34106186
MSDN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
gerasimov, окно запущенной программы будет всегда активно ? Это очень важно.
...
Рейтинг: 0 / 0
отлавить окно внешней программы в момент запуска и тормознуть выполнение VFP до закрытия
    #34109163
gerasimov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MSDNgerasimov, окно запущенной программы будет всегда активно ? Это очень важно.
Да, конечно!
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / отлавить окно внешней программы в момент запуска и тормознуть выполнение VFP до закрытия
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]